xcode – NSWindowController使用故事板自动保存

我有一个 Swift应用程序启动一个简单的NSWindow,像这样:
func applicationDidFinishLaunching(notification: NSNotification!) {
    let storyboard = nsstoryboard(name: "MainStoryboard",bundle: NSBundle.mainBundle())
    windowController = storyboard.instantiateInitialController() as? NSWindowController
    windowController?.showWindow(self)
}

这很好,我的应用程序启动,窗口出现.但是:大小总是一样的.

在故事板中,我指定了一个自动保存名称

另请注意,可选复选框被选中.

但无论如何,窗口每次都显示相同的大小.过去总是“刚刚起作用”,所以我不知道这是一个错误,还是一个缺失的部分.在手动实例化和显示窗口时,自动保存会自动与故事板一起工作吗?

解决方法

这似乎是一个Xcode的bug.我能够通过手动设置NSWindowController windowFrameAutosaveName属性解决这个问题:

windowController?.windowFrameAutosaveName =“主应用程序窗口”

但是,如果将属性设置为与Interface Builder中显示的值不同的值,这仅适用于我.如果它以编程方式设置为在IB中使用的相同值,则它不起作用.

所以在IB中,自动保存名称留给MainAppWindow,并以编程方式设置为主应用程序窗口.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...