只要我在滚动视图中嵌入自定义NSView,就不会在自定义视图中绘制任何内容。
为了复制这个问题,我创建了一个vanilla Cocoa应用程序。我将NSView及其drawRect
处理程序子类化,我做了一些像红色fillRect
一样简单的事情。我验证这是按预期工作的:
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
[[NSColor redColor] set];
[NSBezierPath fillRect:dirtyRect];
// Drawing code here.
}
返回IB,点击我的自定义视图,然后转到菜单编辑器>嵌入>滚动视图。
我的视图中不再有红色矩形。我已经确认我的drawRect
已不再被调用。
是什么给出了?
我以为我遇到了一个解决方案here,但它没有任何帮助。
似乎很简单。
运行Xcode 5.0.2& OS10.9.1。
答案 0 :(得分:5)
修正了...我必须在我的自定义视图中添加这样的内容:
- (NSSize)intrinsicContentSize
{
return NSMakeSize(960,540);
}
答案 1 :(得分:2)
这也适用于使用Swift的xcode 6 beta4(10.9.4)(使用adhoc大尺寸)
func intrinsicContentSize() ->NSSize {
return NSMakeSize(2000,2000)
}