屏幕中心窗口

时间:2016-02-09 11:38:33

标签: macos swift2 nswindowcontroller nsviewcontroller

有没有办法在OSX中将窗口置于屏幕中央?

我正在使用下面的代码,但它只改变了大小而不是屏幕上的位置。

override func viewDidLoad() {
        super.viewDidLoad()

        let ScreenStart = NSSize(width: (NSScreen.mainScreen()?.frame.width)! / 1.5, height: (NSScreen.mainScreen()?.frame.height)! / 1.5)

        self.view.frame.size = ScreenStart
        self.view.frame.origin = NSPoint(x: (NSScreen.mainScreen()?.frame.origin.x)!/2, y: (NSScreen.mainScreen()?.frame.height)! / 2)  
    }

2 个答案:

答案 0 :(得分:8)

对于将来的引用,这是使用NSWindowController

self.window?.center()类中完成的

答案 1 :(得分:0)

在使用Modal的{​​{1}}演示文稿时,我有同样的问题。

我喜欢这个答案:How to constrain second NSViewController minimum size in OS X app?

我使用NSTabViewController访问NSWindowDelegate属性和函数。如@SNos所说,其中包括NSWindow

self.view.window?.center()