我的主控制器是 a并在其编辑状态更改时为 a 设置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;
}