Iphone 设置文本字段动画D以在键盘上方移动文本字段
我知道关于这个话题已经有很多了。我从另一个问题得到了下面的代码,但我不知道如何设置它以供使用。有人能给我一个详细的步骤,如何实际设置的过程中移动一个文本字段上方的键盘时,然后移动它回来,当编辑完成Iphone 设置文本字段动画D以在键盘上方移动文本字段,iphone,ios4,Iphone,Ios4,我知道关于这个话题已经有很多了。我从另一个问题得到了下面的代码,但我不知道如何设置它以供使用。有人能给我一个详细的步骤,如何实际设置的过程中移动一个文本字段上方的键盘时,然后移动它回来,当编辑完成 - (void)textFieldDidBeginEditing:(UITextField *)textField { [self animateTextField: textField up: YES]; } - (void)textFieldDidEn
- (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];
}
textFieldDidBeginEditing:
或textFieldDidEndEditing:
是否曾被调用
否则,您可能无法正确设置文本字段的委托
声明文本字段时(或者,如果使用IB,则在viewDidLoad中),添加以下内容:
yourTextField.delegate=self代码>是否调用过textfielddendediting:
或textfielddendediting:
否则,您可能无法正确设置文本字段的委托
声明文本字段时(或者,如果使用IB,则在viewDidLoad中),添加以下内容:
yourTextField.delegate=self代码>我强烈建议使用UITableViewController并将UITextField放入表中。这样,系统就为您解决了键盘隐藏问题。我强烈建议使用UITableViewController并将UITextField放入表中。这样,系统就为您解决了键盘隐藏问题。@Joe这允许我输入文本字段didBeginediting,但随后代码崩溃,出现“NSInvalidArgumentException”,原因:'-[UIView scrollToView::]:发送到实例0x4e47840的未识别选择器'您发布的代码示例中没有scrollToView
。你能搜索一下,看看你在代码中调用了那个方法吗?@Joe找到了,忘了把UITextFiledDelegate添加到.h中file@Joe这允许我输入textFieldDidBeginEditing,但随后代码崩溃并出现“NSInvalidArgumentException”,原因:'-[UIView scrollToView:]:未识别的选择器发送到实例0x4e47840'您发布的代码示例中没有scrollToView
。你能搜索一下,看看你在代码中调用了那个方法吗?@Joe找到了,忘了将UITextFiledDelegate添加到.h文件中