ale*_*emb 24 macos user-interface cocoa objective-c
我在一个mac应用程序中有一个NSButton,它的颜色我想以编程方式改变,但我尝试的任何东西似乎都没有用.我试图在NSButtonCell上创建一个输出并在那里设置背景颜色,但这也不起作用.任何代码片段都会有所帮助.
Mar*_*ark 38
假设所有东西都挂在IB中,用于无边界按钮.
// *.h file
IBOutlet NSButton* myButton;
// *.m file
[[myButton cell] setBackgroundColor:[NSColor redColor]];
Run Code Online (Sandbox Code Playgroud)
请注意setBackgroundColor文档:
"只有在绘制无边框按钮时才使用背景颜色."
如果这不适合你,那么你需要覆盖NSButton并自己实现绘图.
祝好运.
bri*_*ple 10
这是另一种可能的方法:
let button = NSButton()
button.title = ""
button.bezelStyle = .texturedSquare
button.isBordered = false //Important
button.wantsLayer = true
button.layer?.backgroundColor = NSColor.red.cgColor
Run Code Online (Sandbox Code Playgroud)
我创建了一个NSButton子类FlatButton,它使得从Interface Builder更改按钮背景颜色,文本颜色,图标颜色,边框和其他类型的样式变得非常容易:
https://github.com/OskarGroth/FlatButton
| 归档时间: |
|
| 查看次数: |
41226 次 |
| 最近记录: |