2015-11-04 152 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。高度);

}