NSViewController当显示为Sheet时禁用调整大小吗?

问题描述 投票:6回答:3

因此,我展示了已禁用调整大小的窗口的NSViewController 作为表单

显示为图纸的视图控制器仍可以调整大小

如何禁用NSViewController的大小调整?

macos nsviewcontroller
3个回答
20
投票

Swift 4:

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

通过无需编写代码即可完成此操作的方式,这是方法:

  • 将窗口控制器元素从对象拖到情节提要中图书馆。
  • 将窗口控制器连接到要禁用调整大小的特定视图控制器。
  • 在窗口控制器的属性上,取消选中调整大小选项。

disable resize window xcode


9
投票

经过更多尝试后,我发现这在viewDidLoad中起到了作用:

self.preferredContentSize = NSMakeSize(self.view.frame.size.width, self.view.frame.size.height); 

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

}
© www.soinside.com 2019 - 2024. All rights reserved.