2011-04-29 36 views
1

我有一個UITableViewController,其中一些行包含文本字段,其他行顯示模態視圖。我在viewWillAppear中註冊了UIKeyboardWillShowNotificationUIKeyboardWillHideNotification,並在viewWillDisappear中取消註冊。模態對話框後的鍵盤通知

下一步我這樣做: - 點擊一個文本框。我得到UIKeyboardWillShowNotification,調整表格的大小來爲鍵盤添加位置。 - 選擇一個呈現模態視圖控制器的行,我收到UIKeyboardWillHideNotification,調用viewWillDisappear。 - 關閉模態視圖控制器後,調用viewWillAppear,我得到一個UIKeyboardWillShowNotification。但沒有顯示鍵盤。所以我的桌子被調整大小,但沒有鍵盤出現。

這是SDK中的錯誤嗎?或者這是常見的行爲,我錯過了什麼?

回答

0

您的邏輯接縫對我來說是正確的。但我想知道每次登錄UIKeyboardWillHideNotification時可能出現的問題,您的viewWillAppear。嘗試只在viewDidLoad註冊一次,退訂dealloc。我想,也許當您在解散模式視圖後再次註冊時,通知中心會向您發送舊通知。如果您爲通知註冊一次,您將無法獲得更多信息併發布。

+0

但是,爲什麼我會收到一箇舊的UIKeyboardWillShowNotification模式解僱?第一次我已經收到了正確的willShow通知。第二個只有在鍵盤出現時纔有意義。 – 2011-05-10 13:00:05