当辞职响应者时,UITextField会重新定位自己

时间:2013-06-04 04:43:16

标签: ios ios6

我的主控制器为UITextFieldDelegate,并在其编辑状态发生变化时设置UITextField动画。在故事板中,视图的原始位置位于屏幕的中心(垂直和水平),在编辑时,我将其放置在屏幕顶部。如果我现在从键盘完成“开始”操作,在文本字段上重新签名第一个响应者,文本字段将弹回到其原始位置。我已经尝试在textFieldShouldEndEditing中保留文本字段的框架,但它会继续回到原来的位置。即使键盘重新占用,如何将视图保持在新位置?

我像这样设置动画

-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField {
    if ([textField isEqual: _toField] && !alreadyAnimated) {

        [UIView beginAnimations:@"editFieldAnimation" context:nil];
        [UIView setAnimationDuration:0.2f];
        // move up to field
        CGRect textFieldFrame = [_toField frame];
        textFieldFrame.origin.y = 58; // default frame top margin
        _toField.frame = textFieldFrame;

        [UIView commitAnimations];

        alreadyAnimated = YES;
    }

    return YES;
}

0 个答案:

没有答案