macos – 如何设置主窗口的位置和大小(以编程方式)?

macos – 如何设置主窗口的位置和大小(以编程方式)?,第1张

概述我正在使用OS X的最新默认项目(10.11, Xcode 7.0).它使用故事板,层次结构如下: Window Controller -> View Controller 我想设置窗口的初始位置和帧大小.显然用户可以改变它,但我希望它从一些默认值开始.我已经尝试了子类化NSWindowController,但这没有任何效果. class WindowController: NSWindowCon 我正在使用OS X的最新默认项目(10.11,Xcode 7.0).它使用故事板,层次结构如下:

Window Controller -> VIEw Controller

我想设置窗口的初始位置和帧大小.显然用户可以改变它,但我希望它从一些默认值开始.我已经尝试了子类化NSWindowController,但这没有任何效果.

class WindowController: NSWindowController {     overrIDe func windowDIDLoad() {        super.windowDIDLoad()        guard let window = window else {           return        }        let windowOriginPoint = CGPoint(x: 0,y: 0)        let windowsize = CGSize(wIDth: 800,height: 400)        window.setFrame(NSRect(origin: windowOriginPoint,size: windowsize),display: true)        print("windowDIDLoad")     }  }

这样做的正确方法是什么?

解决方法 我遇到了同样的问题.我通过在windowDIDBecomeMain中移动setFrame代码而不是windowDIDLoad来解决它;如果手动移动窗口并重新选择成为主窗口,则会产生不良副作用:拖动时窗口跳转并立即返回到正确位置.为了避免它,我使用了一个补丁:在windowController中,我声明了一个

private var firstAppearance = true;

在windowDIDBecomeMain我只在firstAppearance上做setFrame;然后我将firstAppearance设置为false.

总结

以上是内存溢出为你收集整理的macos – 如何设置主窗口的位置和大小(以编程方式)?全部内容,希望文章能够帮你解决macos – 如何设置主窗口的位置和大小(以编程方式)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1016394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存