我有一个我制作的自定义框,它是NSBox. 我覆盖该drawRect:方法并像这样在其中绘制渐变(假设我已经有一个start&end颜色):
-(void)drawRect:(NSRect)dirtyRect {
NSGradient *gradient = [[NSGradient alloc] initWithStartingColor:start endingColor:end];
[gradient drawInRect:dirtyRect angle:270];
[gradient release];
}
现在这个框被添加为一个原型视图的子视图NSCollectionView。在视图的原始状态下,它看起来像这样:

在将视图滚动到视线之外并再次返回后,它看起来像这样:

为什么我的渐变会这样损坏,我该如何解决?谢谢!