2016-08-16 46 views
1

是否有任何方法来存储视图控制器显示为工作表的用户默认值的窗口大小?我正在使用故事板,并与类型表一起继续使用。工作表视图控制器的存储窗口大小

+1

尴尬的问题:_why ... _但简要地说,你可以在'NSUserDefaults'存储这些信息,没有任何问题? – holex

+0

工作表可调整大小并具有文本视图。它不是主要的,只是为了可用性。 – avvensis

+0

以及为什么你不能在运行时阅读窗口的大小? _为什么你需要永久存储它? – holex

回答

1

结果我的研究


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) 
    } 

} 
+0

非常感谢。有点烦人这不是自动内置。 –

相关问题