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文件中