Jor*_*ith 13 macos cocoa objective-c nssplitview autolayout
启用自动布局后,通过在界面构建器中为NSSplitView设置自动保存名称自动保存分隔符位置会导致每个分隔符在应用程序重新启动时完全折叠.禁用自动布局允许自动保存工作完美.
我在一个新的Xcode项目中尝试了这个,同样的结果.这是一个错误,还是一个已知的不兼容问题?
我怎么能解决这个问题(如果它是一个bug,还是有解决方法)?
csc*_*sch 27
我发现在启用自动布局的故事板中进行设置Identifier
并Autosave
不起作用.但是,一旦我以autosaveName
编程方式设置它,它确实对我有用.
class MySplitViewController: NSSplitViewController {
override func viewDidLoad() {
super.viewDidLoad()
splitView.autosaveName = "Please Save Me!"
}
}
Run Code Online (Sandbox Code Playgroud)
我就遇到了这个问题为好,我发现我需要设置都将identifier
和autosaveName
为NSSplitView价值,他们需要被设置为不同的值.
根据您的情况,当您第一次实例化时,视图可能不在视图层次结构中。如果是这种情况,autosaveName
则只有在将视图添加到 windows 视图层次结构之后才设置它才会起作用,因此您可以考虑将自动保存名称设置为
func viewDidMoveToWindow() {
super.viewDidMoveToWindow()
splitView.autosaveName = "mySplitViewState"
}
Run Code Online (Sandbox Code Playgroud)
我发现在自动布局模式下使用 NSSplitView 很糟糕。所以我写了基于自动布局的分割视图:https ://github.com/silvansky/TwinPanelView
它可以存储其手柄位置(非全自动)。
归档时间: |
|
查看次数: |
2916 次 |
最近记录: |