我到处寻找这个但没有运气。我在我的项目中使用 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];
}
@结尾
有任何想法吗?