因此,我将NSViewController呈现为已禁用调整大小的窗口工作表,但仍可调整显示为工作表的视图控制器。
如何禁用NSViewController的大小调整?
答案 0 :(得分:18)
Swift 4:
override func viewDidAppear() {
// any additional code
view.window!.styleMask.remove(.resizable)
}
顺便说一下,你可以不用编写代码就可以做到这一点,这里有以下几点:
答案 1 :(得分:9)
经过一些尝试后,我发现这在viewDidLoad中有诀窍:
self.preferredContentSize = NSMakeSize(self.view.frame.size.width, self.view.frame.size.height);
答案 2 :(得分:1)
如果添加这些方法,问题将得到解决。
- (void)updateViewConstraints NS_AVAILABLE_MAC(10_10) {
[super updateViewConstraints];
}
- (void)viewWillLayout NS_AVAILABLE_MAC(10_10) {
self.preferredContentSize = NSMakeSize(self.view.frame.size.width, self.view.frame.size.height);
}