2012-06-29 92 views
0

我的視圖包含UITableViewController其中有UITextFields其中可以輸入一些文本。當鍵盤出現/消失時,我調整UITableView高度。它效果很好。如何在推導導航控制器中的UIViewController之前關閉鍵盤

現在我有UIAlertView其中UITextField在裏面。用戶輸入UITextField中的文字UIAlertView &當按下Ok時,我推送另一個UIViewController。問題是當我回到它被擰緊的視角時。原因是KeyboardWillHide通知永遠不會被觸發&因此tableView的高度是應用程序框架高度 - 鍵盤高度。

修復它的任何建議?我在- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex中撥打[resignFirstResponder]但沒有幫助。我甚至有力地稱KeyboardWillHide但這也沒有幫助。

有什麼建議嗎?

+0

發生這種情況時,鍵盤還在屏幕上還是僅僅是視圖尺寸問題? –

+0

鍵盤不見了。問題是沒有得到調整的框架高度 –

+2

但理想情況下,您不應該在UIAlertView中使用UITextField。 UIAlertView用於顯示任何警報並據此作出決定。不輸入任何文本。 – AJS

回答

1

我在viewWillDisappear中調用removerObserver。 viewWillDisappear在keyboardWillHide被調用之前被調用。 解決方案是將removeObserver移動到viewDidDisappear。那就是訣竅。

+0

好吧這傢伙在新的視圖包含鍵盤的情況下增加了另一個問題。所以我讓觀察者回到觀看會出現/消失。現在我在viewWillAppear中修復表格框架 –

相關問題