2017-09-06 92 views
0

我在objectiveC,OSX上,而不是iOS上。 XCode 8.3Modal NSWindow再次變爲可見後的通知

我有一個首選窗口(自定義NSWindow),作爲我的主窗口上的模態打開。

首選項窗口本身包含一個帶有選項卡的視圖。無論何時點擊,選項卡高度都會更改窗口大小。

第一選項卡點擊:

enter image description here

第二個選項卡點擊:

enter image description here

現在,如果有人隱藏在Dock中的應用程序,並再次啓動它,在預置窗口變得活躍標籤1的高度,即使標籤2仍然有效。所以內容被切斷。

enter image description here

我需要的是某種形式的通知大幹快上成爲主動/可見再次被顯示之前觸發窗口的大小調整觸發。

我在NSWindow子類中使用這些通知嘗試了它(使用NSWindow委託集)。

- (void)windowDidResignMain:(NSNotification*)notification{ 
NSLog(@"windowDidResignMain"); 
} 

- (void)windowDidResignKey:(NSNotification*)notification{ 
NSLog(@"windowDidResignKey"); 
} 

- (BOOL)canBecomeKeyWindow{ 
    return YES; 
} 

- (BOOL)canBecomeMainWindow{ 
    return YES; 
} 

但他們都沒有工作。是因爲它是一個模態窗口嗎? 任何幫助表示讚賞。

+1

這應該不會發生。你在這裏使用什麼方式放置/調整大小?自動佈局?彈簧和支柱?你如何調整窗戶大小?你如何填充/切換標籤? – uliwitness

回答

0

我找到了。我的錯誤 - 我的tabViewController在viewWillAppear上觸發了一個調整大小,總是第一個選項卡。我將其改爲當前選定的選項卡,就是這樣。

相關問題