2010-12-03 88 views
3

我們如何修復NSWindow的大小,以便用戶不應該能夠通過鼠標拖動它來調整它的大小,或者有一種方式,以便所有的子視圖窗口在用戶更改窗口大小時調整大小,實際上問題是當用戶更改窗口的大小時,子視圖不resresses我想鎖定窗口調整大小?修復NSWindow大小?

回答

0

也許不是你後的答案,但你可以防止調整大小通過禁用調整大小的指標(通過setShowsResizeIndicator),然後執行...

- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize 

... NSWindowDelegate委託方法所以它只是返回現有的窗口大小。

奇怪的是,沒有「setCanResize:」方法,但你去了。

1

下面假設你使用界面生成器爲您的窗口布局:

爲了讓子視圖來調整,轉到尺寸檢查(命令3),併爲每個子視圖,設置它會自動調整大小和支柱(點擊矩形中的紅線),直到預覽動畫按你想要的進行。記住: (1)如果父母的觀點沒有延伸,孩子也不會; (2)如果你使用的是滾動條,如果內容在與滾動條相同的方向上可伸縮,它們將永遠不會出現。

如果您確實需要一個鎖定的窗口,並且沒有調整大小的控件,您可以取消選中屬性檢查器(command-1)中的這些選項。或者更簡單地說,讓一個IBOutlet的窗口,把這個在你的代碼:

[self.theWindow setStyleMask:NSBorderlessWindowMask]; 
5

我可以在這裏失去了一點(和有點晚了),但你能不能上設置的「限制」選項窗戶本身?

如果最小和最大尺寸相同,則會阻止調整尺寸。

enter image description here