0

私はこれをどこでも探しましたが、運がありませんでした。プロジェクトでNSCollectionViewを使用しており、アレイコントローラーを介してCoreDataにバインドしています。希望どおりに表示するために、NSViewを新しいdrawRectメソッドでサブクラス化し、これをNSCollectionViewItemのビューアウトレットに接続しました。それはすべて正しく機能し、バインディングは良好ですが、何らかの理由でコレクションビューの最初のアイテムに対してのみカスタム描画を実行します。NSCollectionViewが新しいアイテムを作成するときにペン先をコピーするという事実に関係していると思います。これが私のdrawRectです:最初にメソッド:

@implementation CompanyItemView

-(void)drawRect:(NSRect)dirtyRect
{   
    NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:[self frame]  
                                                         xRadius:6.0f     
                                                         yRadius:6.0f];

    [[NSColor whiteColor] set];
    [path fill];

    [[NSColor darkGrayColor] set];
    [path stroke];
}

@終わり

何か案は?

4

1 に答える 1

0

完全にはわかりませんが、copyWithZoneメソッドを実装する必要があると思います

于 2011-02-26T12:23:10.190 に答える