1

В IB я создаю NSCollectionView и его NSCollectionViewItemNSView и которая принадлежит NSCollectionViewItemNSCollectionItem .my состоит из NSImageView и NSTextField .I установить их значение, используя bindings.I какао хочет изменить цвет границы NSImageView при выборе NSCollectionItem .I создавать свои собственные классы для всех из них и установить свой собственный класс в IB.In NSCollectionViewItem класса я переписать его 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 задница Я создаю IBOutlets из NSImageView и NSTextField, связывая их с IB.But, когда функция Жеребьевка называется, я использую код

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

Результатом является nil.Why я не могу получить ImageView выбранного NSCollectionViewItem ? Где я ошибаюсь? Помогите мне, спасибо!

ответ

0

NSCollectionViewItem является подклассом NSViewController .so, в И.Б., я подключить NSImageView из NSView с ImageView в NSCollectionViewItem и установить класс в NSImageView к моему собственному классу, который является подклассом NSImageView .В функции Розыгрыша NSImageView, результат NSLog не ноль, и я могу что-то нарисовать.