macos - 调整 NSWindow 大小以匹配 Storyboard 中的 View Controller 大小

标签 macos cocoa storyboard appkit

我正在 OSX 10.10 上开发 Xcode 6.1.1。我正在尝试 Mac 应用程序的 Storyboard。我有一个 NSTabViewController 使用新的 NSTabViewControllerTabStyleToolbar tabStyle ,它被设置为窗口 Controller 的默认 View Controller 。 如何根据当前选定的 View Controller 调整窗口大小?

是否可以完全在 Interface Builder 中完成? 这是我的 Storyboard的样子: storyboard

最佳答案

自动布局的答案是一半。您需要在 ViewController 中将每个选项卡的 PreferredContentSize 设置为合适的大小(如果您希望选项卡的大小设置为满足所有约束的最小大小)。

override func viewWillAppear() {
        super.viewWillAppear()
        preferredContentSize = view.fittingSize
}

如果您的约束导致下面的问题,请首先尝试使用固定大小,下面的示例会在选项卡项的 View Controller 的 viewWillAppear 函数中设置此值(此处使用 Swift,但 Objective-C 版本也同样有效)。

override func viewWillAppear() {
        super.viewWillAppear()
        preferredContentSize = NSSize(width: 400, height: 280)
}

如果有效,请调整您的约束以弄清楚发生了什么

关于macos - 调整 NSWindow 大小以匹配 Storyboard 中的 View Controller 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27578085/

相关文章:

java - 指定路径时文件存在无法工作

macos - MacOS Sierra xgboost jvm软件包安装错误

Swift MacOS SpriteKit rightMouseDragged 不起作用

swift - '在 NSBundle 包中找不到名为 'MainTabController' 的 Storyboard

swift - Abysmal Metal 渲染速度

python - Exitwp 无法导入 PyYAML 模块

objective-c - NSTextView 的子类化使得 Cocoa 中的撤消变得不可能

objective-c - 自定义 NSCell 中的可点击链接

ios - 如何在新 Storyboard后手动添加 Root View Controller 箭头?

ios - 无法使用 Storyboard 将条形按钮项目添加到导航栏的详细 View Controller 中?