shr*_*ads 16 cocoa interface-builder
我正在写一个有一个NSWindow的可可应用程序.我想将窗口的背景颜色更改为特定颜色.但是检查器中的窗口属性仅提供"纹理窗口"替代方案.如何根据需要制作窗口的颜色?
Dir*_*oop 26
尝试使用窗口实例上的颜色调用实例方法setBackgroundColor :. 什么名字..;)
像这样:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Option 1
[self.window setBackgroundColor: NSColor.whiteColor];
// Option 2 - using dot syntax
self.window.backgroundColor = NSColor.whiteColor;
}
Run Code Online (Sandbox Code Playgroud)
Ole*_*kov 16
更改窗口背景的最简单方法是直接在.xib文件中设置它.
完全没有代码:

只要您只想更改内容区域的背景颜色,而不是框架和工具栏,就不需要子类化NSWindow.您需要做的是子类NSView并使您的自定义视图绘制所需的颜色,然后将该类的实例设置为窗口的内容视图.
或者,您可以设置无边框NSImageView或NSColorWell内容视图,但我不确定Apple对于那些拥有子视图的人来说意味着什么.如果没有,你必须把你的窗户留空.
这就是说,你应该真正确保自定义背景色为宜.几乎总是,它不是,你应该坚持使用Aqua或HUD外观.
您必须继承 NSWindow 才能更改背景,然后覆盖其实现
- (id)initWithContentRect:(NSRect)contentRect
styleMask:(NSUInteger)styleMask
backing:(NSBackingStoreType)bufferingType
defer:(BOOL)flag
Run Code Online (Sandbox Code Playgroud)
作为示例,请参阅 Mat Gemmell 的 HUDWindow:http://mattgemmell.com/2006/03/12/hudwindow
| 归档时间: |
|
| 查看次数: |
25950 次 |
| 最近记录: |