我知道這個主題已經有很多了。我從另一個問題得到了下面的代碼,但我不知道如何設置它來使用。有人可以詳細一步一步詳細地介紹如何在鍵盤彈出後在鍵盤上移動文本框的過程,然後在編輯完成後將其移回。設置Textfield動畫來移動鍵盤上方的TextField
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[self animateTextField: textField up: YES];
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
[self animateTextField: textField up: NO];
}
- (void) animateTextField: (UITextField*) textField up: (BOOL) up
{
const int movementDistance = 80; // tweak as needed
const float movementDuration = 0.3f; // tweak as needed
int movement = (up ? -movementDistance : movementDistance);
[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
[UIView commitAnimations];
}
@Joe這讓我進入textFieldDidBeginEditing但隨後的代碼崩潰與「NSInvalidArgumentException」的,理由是:「 - [UIView的scrollToView:]:無法識別的選擇發送到實例0x4e47840」 – 2011-04-22 18:44:36
的代碼示例中有沒有'scrollToView'你帖子。你可以做一個搜索,看看你在代碼中調用了那個方法嗎? – 2011-04-22 18:50:35
@Joe明白了,忘了將UITextFiledDelegate添加到.h文件 – 2011-04-22 22:08:18