【发布时间】:2010-12-25 00:08:00
【问题描述】:
我正在尝试编写一个支持添加背景颜色的自定义 NSView。我覆盖了drawRect
- (void)drawRect:(NSRect)rect {
[[NSColor blackColor] set];
//[NSBezierPath fillRect:rect]; //I tried this too
NSRectFill([self bounds]);
}
我设置了我的自定义视图类型来替换我的主窗口的内容视图 NSView。但是当我运行它时,背景并没有像预期的那样变黑 - 但一些包含的子视图会。
我做错了什么?我的 draw 方法肯定会被调用,但背景不会改变。
【问题讨论】:
-
1 - 您如何将内容视图替换为自定义视图? 2 - 你怎么知道你的自定义视图的 -drawRect: 被调用了?
-
很有可能您的方法没有被调用。尝试在您的 -drawRect: 方法中放置一个断点,看看它是否被命中。如果没有,请重新检查你的 UI 设置(代码或 nib),看看为什么你的类没有被使用。
标签: objective-c cocoa