0

我到处寻找这个但没有运气。我在我的项目中使用 NSCollectionView 通过数组控制器绑定到核心数据。为了让它看起来像我想要的那样,我用一个新的 drawRect 方法对 NSView 进行了子类化,并将它与 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 回答