til*_*ait 5 macos nsview nswindow nswindowcontroller nstabviewcontroller
我有一个 Xcode 项目,NSWindowController
其contentViewController
设置为NSViewController
. 我最近删除NSViewController
从故事板子类,并取代了contentViewController
用一个NSTabViewController
子类。
现在,当我运行应用程序时,NSWindow
打开的大小为 500x500,而不是第一个选项卡的大小。更重要的是,有没有看法,我可以在具有尺寸500×500的故事板看到,而且尺寸不是编程,无论是。窗口本身设置为不同的大小,NSTabViewController
第一个NSViewController
.
我假设我必须在某处设置某种约束,但如果有,我不知道在哪里/如何找到它。使用 Xcode 9.2 和 High Sierra。
在windowDidLoad()
工作中以编程方式将窗口的大小设置为正确的大小,但是如果我改变了视图的大小,我也必须改变它,这会很快变旧。
对不起,如果这是模糊的;我真的不知道什么样的屏幕截图或代码片段会有所帮助。
我最近也遇到了这个令人沮丧的问题。
有几个选项可以解决此问题:
正如您所提到的,preferredContentSize
在每个自定义视图控制器中设置将选项卡的内容保存为您想要的大小。这是不灵活的,但它确实有效。
// Swift
class FooViewController: ViewController {
override func viewWillAppear() {
super.viewWillAppear()
preferredContentSize = NSSize(width: 400, height: 280)
}
}
Run Code Online (Sandbox Code Playgroud)我在这个SO 答案中找到了一个更好的解决方案的提示。您可以向处理选项卡内容的视图控制器的主视图添加子视图(stackview、nsview 等...),然后添加将其固定到每个边缘的约束并添加设置大小的约束。
这是它在 Interface Builder 中的样子的屏幕截图。我添加了一个堆栈视图,然后添加了 6 个约束。
希望这可以帮助。
归档时间: |
|
查看次数: |
900 次 |
最近记录: |