2012-10-31 73 views
2

我在我的TableView中有兩個Textfields。當選擇其中一個進行編輯時,文本框正在移動到屏幕的中心。這是我做的:目標C:表視圖滾動只在鍵盤打開時才起作用

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    if(textField == self.nameTextField) { 
     [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; 
    } 
    else if(textField == self.passwordTextField) { 
     [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0] atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; 
    } 
} 

一切工作正常,但只有當鍵盤打開。如果我第一次點擊文本框或鍵盤已關閉,則不會發生滾動。

有誰能告訴我爲什麼還是有另一種解決方案?

非常感謝!

回答

0

嘗試textFieldShouldReturn方法,它會在鍵盤關閉時調用。下面的邏輯工作對我來說,這個方法添加到您的代碼:

- (BOOL)textFieldShouldReturn:(*的UITextField)文本框 {

[textField resignFirstResponder]; 
[self.tableView setScrollEnabled:YES]; 
[self.tableView setContentOffset:CGPointZero animated:NO]; 
return YES; 

}

希望這有助於你。

+0

謝謝Suchit。但它不會改變任何事情。 : - /關閉鍵盤時,TableView滾動回零點,但問題仍然存在 –

相關問題