为 sheet 视图控制器存储 window 大小
Store window size for sheet view controller
有没有什么方法可以在显示为 sheet 的视图控制器的用户默认值中存储 window 大小?我正在使用 sheet 类型的故事板和 segue。
我的研究结果
class SheetController: NSViewController, NSWindowDelegate {
// MARK: - Interface Builder
@IBInspectable var autosave: String?
// MARK: - NSViewController
override func viewWillAppear() {
super.viewWillAppear()
guard let window = self.view.window, let saveName = autosave else {
return
}
window.delegate = self
// restore window size
window.setFrameUsingName(saveName)
}
// MARK: - NSWindowDelegate
func windowDidEndLiveResize(notification: NSNotification) {
guard let saveName = autosave else {
return
}
// save new window size
self.view.window?.saveFrameUsingName(saveName)
}
}
有没有什么方法可以在显示为 sheet 的视图控制器的用户默认值中存储 window 大小?我正在使用 sheet 类型的故事板和 segue。
我的研究结果
class SheetController: NSViewController, NSWindowDelegate {
// MARK: - Interface Builder
@IBInspectable var autosave: String?
// MARK: - NSViewController
override func viewWillAppear() {
super.viewWillAppear()
guard let window = self.view.window, let saveName = autosave else {
return
}
window.delegate = self
// restore window size
window.setFrameUsingName(saveName)
}
// MARK: - NSWindowDelegate
func windowDidEndLiveResize(notification: NSNotification) {
guard let saveName = autosave else {
return
}
// save new window size
self.view.window?.saveFrameUsingName(saveName)
}
}