1

IB では、 aNSCollectionViewとそのNSCollectionViewItemおよびNSViewに属するa を作成します。私は aと aで構成されますNSCollectionViewItem。ココア バインディングを使用してそれらの値を設定します。カスタム クラスを IB に設定します。クラスでは、その関数を書き直し ます。コードは次のとおりです。NSCollectionItemNSImageViewNSTextFieldNSImageViewNSCollectionItemNSCollectionViewItemsetSelected:(BOOL)flag

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

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

NSViewが描画関数を呼び出すときに境界線の色を変更したい.私が作成したNSViewクラスIBOutletsでは、それらをIBに接続します.しかし、描画関数が呼び出されると、コードを使用しますNSImageViewNSTextField

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

結果は nil です。選択した NSCollectionViewItem の imageView を取得できないのはなぜですか? どこで間違いを犯しますか?助けてください、ありがとう!

4

1 に答える 1