macos - 为什么窗口背景在全屏时保持黑色?

标签 macos swift cocoa xcode6 storyboard

我创建了一个没有标题的窗口-

 override func windowDidLoad() {
    super.windowDidLoad()
    self.window?.styleMask = NSBorderlessWindowMask 
    self.window?.movableByWindowBackground = true
}

我已经设置了 canBecomeKeyWindow -

override var canBecomeKeyWindow:Bool
{
    get{
        return true
    }

}

我已经改变了容器 View 的背景颜色——

  override func drawRect(dirtyRect: NSRect) {
    super.drawRect(dirtyRect)

    var viewcolor = NSColor.whiteColor()
    viewcolor.setFill()
    NSRectFill(dirtyRect)


}

自定义 View 作为 subview 添加到此容器 View 中,我更改了自定义 View 的背景颜色-

 override func drawRect(dirtyRect: NSRect) {
    super.drawRect(dirtyRect)

    NSColor(SRGBRed: 0.8, green: 0.26, blue: 0.33, alpha:1.0).set()
    NSRectFill(self.bounds)
}

现在,当我执行 toggleFullscreen 时-

 @IBAction func goFullScreen(sender: AnyObject) {
    self.view.window?.toggleFullScreen(sender)


}

整个屏幕区域没有被填满。创建的窗口后面有空白(黑色)背景。该应用程序应填充空间,此屏幕截图中不应有黑色背景 Full screen state

我该如何解决这个问题。感谢您的帮助。

最佳答案

问题是您的窗口无法调整大小。将 styleMask 设置为 NSBorderlessWindowMask 无意中删除了 NSResizableWindowMask

您应该将 styleMask 设置为 NSBorderlessWindowMask | NSResizableWindowMask.

关于macos - 为什么窗口背景在全屏时保持黑色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30787650/

相关文章:

objective-c - cocoa Hello World 屏保

macos - 在 OS X 上运行 docker 容器时如何将主机 IP 作为环境变量传递

macos - 如何在 Mac OS 中创建相对符号链接(symbolic link)?

ios - 容器 View 页面 Controller 被裁剪而不是调整大小

objective-c - 插件架构,访问应用程序中的代码?

objective-c - 如何将 NSWindow 对齐到网格

Java 无法在 MacOS X Leopard 上运行

macos - 适用于 macOS 的 Firefox 开发人员版中是否提供捏合缩放(像我们在图像上那样缩放)?如果是,如何启用它?

swift - 如何在 Mac 应用程序中继续运行而不创建新窗口?

ios - 无法将 [String] 类型的值分配给 String 类型?带文字标签