2013-04-16 82 views
1

在IB我創建了一個NSCollectionView及其NSCollectionViewItem和屬於NSCollectionViewItem。我NSCollectionItem一個NSView由一個NSImageView的和NSTextField。我將它們設置值使用可可bindings.I想改變的NSImageView邊框顏色當選擇NSCollectionItem 。我創建自己的類爲所有這些,並設置其自定義類的IB.In NSCollectionViewItem I類重寫其setSelected:(BOOL)flag function.The代碼爲什麼我的NSImageView在NSCollectionViewItem'view是零?

- (void)setSelected:(BOOL)flag 
{ 
    [super setSelected:flag]; 

    [[self view] setSelected:flag]; 
    [[self view] setNeedsDisplay:YES]; 
} 

我想改變邊框顏色時NSView調用它的平局功能。在NSView cl屁股我創建NSImageViewNSTextFieldIBOutlets,他們IB.But連接時繪製函數被調用時,我使用的代碼

if(selected){ 
    NSLog(@"self.imageView = %@",self.imageView); 
} 

結果是nil.Why我不能選擇NSCollectionViewItem的ImageView的?我犯了什麼錯誤?幫助我,謝謝!

回答

0

NSCollectionViewItemNSViewController。那麼的子類,IB,在我與NSCollectionViewItem的ImageView的連接NSViewNSImageView和NSImageView的類設置爲我自己的類這是NSImageView子類。在的繪製函數NSImageViewNSLog的結果不是零,我可以畫出自己的東西。