一旦我将自定义 NSView 嵌入到滚动 View 中,我的自定义 View 中就不会绘制任何内容。
为了重现这个问题,我创建了一个 vanilla Cocoa 应用程序。我继承了 NSView 及其 drawRect
处理程序,我做了一些简单的事情,比如一个红色的 fillRect
。我验证这按预期工作:
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
[[NSColor redColor] set];
[NSBezierPath fillRect:dirtyRect];
// Drawing code here.
}
回到 IB,我单击我的自定义 View ,然后转到菜单 Editor > Embed In > Scroll View 。
在我看来不再有红色矩形。我已经确认不再调用我的
drawRect
。是什么赋予了?
我以为我会遇到一个解决方案 here ,但它没有帮助。
看起来如此简单。
运行 Xcode 5.0.2 和 OS10.9.1。
最佳答案
已修复...我不得不在我的自定义 View 中添加这样的内容:
- (NSSize)intrinsicContentSize
{
return NSMakeSize(960,540);
}
关于nsview - 只需在 NSScrollView 中嵌入自定义 NSView 即可杀死它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21977565/