2012-01-31 38 views
3

我有一個UITextFieldUITableViewCellUITableView。所有這些都是在Interface Builder中定義的。 UITableView被連接到UITableViewController並被設置爲其數據源和委託。 UITextField通過IBOutlet /物業textEmail引用。所有這些都在標籤視圖內部,如果這很重要的話。所有這些都啓用了用戶交互。如何讓我的UITableView中的UITextField顯示鍵盤?

全部顯示正常,但當選擇UITextField時,鍵盤不顯示。我可以看到textFieldDidBeginEditing被調用,但沒有鍵盤。我試圖把以becomeFirstResponder來電viewWillAppear,它被調用,但仍然沒有鍵盤:

- (void)viewWillAppear:(BOOL)animated { 
    NSLog(@"View will appear"); 
    [textEmail becomeFirstResponder]; 
} 

我也試過把電話直接textFieldDidBeginEditing並且還連接到具有觸摸事件的IBAction相同的結果。

回答

0

一次只有一個自定義tableviewcell嗎?如果是這樣,那麼不要爲你想要做的事情使用tableview會更容易。

如果你有多個單元格(或一個單元格),那麼你需要確保你的類是一個UITextFieldDelegate。然後在你的cellForRowAtIndexPath函數中獲取當前文本字段並將textField的委託賦值給self。

然後添加以下功能的實現:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [textField becomeFirstResponder]; 
} 
+0

我也許應該已經明確規定,我並實現'UITextFieldDelegate'但我原來的職位狀態,我試圖把''中becomeFirstResponder' textFieldDidBeginEditing'已經。我確實有多個自定義單元格,但只有一個這種特殊類型。我也已經將'UITextField'的'delegate'設置爲'UITableViewController'。 – kabuko 2012-01-31 23:35:58

相關問題