sag*_*ism 15 macos cocoa swift
我想在我的mac上创建一个osx/cocoa应用程序,它做了一件非常简单的事情:在我的mac上显示一个没有背景的文本字符串.最终,这将是一个计时器,在其他窗口的顶部显示为叠加,而不会过于干扰.
我试过设置window.backgroundColor = NSColor(red: 1.0, green:0.5, blue:0.5, alpha: 0.5)(参见alpha是0.5),applicationDidFinishLaunching但这并没有把它变成远程透明的东西.
任何好的灵魂都想建议一种方法来做到这一点?
Pau*_*son 12
使窗口不透明,并给它一个清晰的背景:
func applicationDidFinishLaunching(aNotification: NSNotification) {
window.opaque = false
window.backgroundColor = NSColor.clearColor()
}
Run Code Online (Sandbox Code Playgroud)
Leo*_*bus 10
NSWindow有一个属性'opaque',默认情况下是真的.
当窗口不透明时,此属性的值为true; 否则,错误.
只需将其更改为false:
override func viewWillAppear() {
super.viewWillAppear()
view.window?.opaque = false
view.window?.backgroundColor = NSColor(red: 1, green: 0.5, blue: 0.5, alpha: 0.5)
}
Run Code Online (Sandbox Code Playgroud)
Swift 4更新: opaque已重命名为isOpaque
override func viewWillAppear() {
super.viewWillAppear()
view.window?.isOpaque = false
view.window?.backgroundColor = NSColor(red: 1, green: 0.5, blue: 0.5, alpha: 0.5)
}
Run Code Online (Sandbox Code Playgroud)
Swift 3 的一些更新
带有注释的窗口子类示例:
class customWindow: NSWindow {
override init(contentRect: NSRect, styleMask style: NSWindowStyleMask, backing bufferingType: NSBackingStoreType, defer flag: Bool) {
super.init(contentRect: contentRect, styleMask: style, backing: bufferingType, defer: flag)
// Set the opaque value off,remove shadows and fill the window with clear (transparent)
self.isOpaque = false
self.hasShadow = false
self.backgroundColor = NSColor.clear
// Change the title bar appereance
self.title = "My Custom Title"
//self.titleVisibility = .hidden
self.titlebarAppearsTransparent = true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8831 次 |
| 最近记录: |