gpt4 book ai didi

objective-c - 带有 setBackgroundColor 的纹理 NSWindow 具有淡灰色背景

转载 作者:行者123 更新时间:2023-12-03 17:11:30 25 4
gpt4 key购买 nike

基本上我想制作一个简单的about窗口,它有一个统一的标题栏和窗口(即纹理)和白色背景,就像Xcode的about窗口: Xcode's about window

所以我在 IB 中有一个纹理窗口,并且通过绑定(bind)将其连接到我的应用程序委托(delegate)。然后我将这行代码添加到应用程序委托(delegate)中:

[about setBackgroundColor:[NSColor whiteColor]];

虽然对于红色和蓝色等其他颜色,窗口似乎可以很好地改变颜色,但每当我使用 [NSColor WhiteColor] 时,窗口看起来远不如 Xcode 的窗口那么明亮: My about window :(

有趣的是,当窗口处于非事件状态时,我最终会得到 Xcode 的白色: Inactive window

这是一个错误吗?或者它应该看起来真的是灰色的?我怎样才能使这个窗口“真正的白色”?

最佳答案

您不需要为此使用黑客解决方案(至少不再需要)。

创建一个 View Controller ,然后将其作为模式打开。在 View Controller 的子类代码中,添加以下内容:

class YourVC: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
//Set the background color to white
self.view.wantsLayer = true
self.view.layer?.backgroundColor = NSColor.white
}
override func viewDidAppear() {
//Customize the window's title bar
let window = self.view.window

window?.styleMask.insert(NSWindowStyleMask.unifiedTitleAndToolbar)
window?.styleMask.insert(NSWindowStyleMask.fullSizeContentView)
window?.styleMask.insert(NSWindowStyleMask.titled)
window?.toolbar?.isVisible = false
window?.titleVisibility = .hidden
window?.titlebarAppearsTransparent = true
}
}

这是在 Xcode 8 中使用 Swift 3。

关于objective-c - 带有 setBackgroundColor 的纹理 NSWindow 具有淡灰色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25006794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com