2012-07-24 65 views
0

我有一個基於分割視圖的應用程序,並希望監聽根菜單顯示時的某種通知。我想這樣做的原因是因爲鍵盤與菜單重疊,所以我想在菜單顯示時隱藏鍵盤。尋找某種類型的TableViewDidDisplayNotification

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(keyboardWillHide:) 
               name:<Some Notification Here> 
               object:self.view.window]; 

我已經有隱藏鍵盤的方法,我只是在尋找適當的通知。

謝謝!

回答

0

您可以通過根菜單自行發佈通知。只需將其細分並在viewDidAppearviewWillAppear上發佈通知即可。

警告的話:如果你的目標是iOS 5或更高,你應該考慮在iOS6中不推薦使用viewWillAppearviewDidAppear。使用 willMoveToParentViewControllerdidMoveToParentViewController-(void)viewWillLayoutSubviews

-(void)willMoveToParentViewController:(UIViewController *)parent{ 
    if (!parent) 
     //post notification here 


} 

此外,還可以提供零爲通知名字,聽任何可能的通知,隨後的NSLog出來,你或許可以找到一個有用的通知那裏,只是確保它是記錄下來,以確保您的產品具有前瞻性

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationReceived:) name:nil object:nil]; 
+4

你在哪裏看到這兩個函數已被棄用?我在文檔中看不到這一點。 – Dima 2012-07-24 19:12:39

+0

我讀到,通知子類不是很好的做法,這是真的嗎? – BloonsTowerDefence 2012-07-24 19:37:36

+0

我的意思是根菜單的子類,而不是通知 – 2012-07-27 05:20:12