2015-11-04 115 views
2

所以我提出了一个NSViewController作为一个窗体的一个窗体,禁用了调整大小,但作为工作表显示的视图控制器仍然可以调整大小。NSViewController禁用调整大小

如何禁用调整NSViewController的大小?

+0

如果取消选中在界面编辑器中的“调整大小”复选框,您将无法调整窗口的大小。你如何调整视图? – Arc676

+0

是的窗口,我不能调整大小,但如果我presentViewControllerAsSheet然后我可以调整该视图,这是我想避免。 – BalintD

回答

9

斯威夫特3工作对我来说:

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

斯威夫特4:

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

通过你可以做到这一点,而无需编写代码的方式,这里是如何:

  • 拖动窗口控制器元素从对象 库故事板。
  • 将窗口控制器连接到要禁用调整大小的特定视图控制器。
  • 在窗口控制器的属性取消选中调整大小选项。

disable resize window xcode

5

经过一些尝试,我发现这并获得成功在viewDidLoad中:

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

对我而言,没有任何解决方案 –

+0

为我工作如果你ovverride(void)updateViewConstraints方法 – Thippi

0

如果添加了这些方法的问题将固定

  • (无效)updateViewConstraints NS_AVAILABLE_MAC(10_10){

[超级updateViewConstraints]

}

  • (无效)viewWillLayout NS_AVAILABLE_MAC(10_10){

self.preferredContentSize = NSMakeSize(self.view.frame.size.width,self.view.frame.size。高度);

}