NSViewController禁用调整大小

时间:2015-11-04 15:13:27

标签: macos nsviewcontroller

因此,我将NSViewController呈现为已禁用调整大小的窗口工作表,但仍可调整显示为工作表的视图控制器。

如何禁用NSViewController的大小调整?

3 个答案:

答案 0 :(得分:18)

Swift 4:

override func viewDidAppear() {
   // any additional code
   view.window!.styleMask.remove(.resizable)
}

顺便说一下,你可以不用编写代码就可以做到这一点,这里有以下几点:

  • 将Window Controller元素从Object拖到Storyboard 图书馆。
  • 将窗口控制器连接到要禁用调整大小的特定视图控制器。
  • 在Window Controller的属性上取消选中Resize选项。

disable resize window xcode

答案 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);

}