我正在为 iPhone 5 的大屏幕更新我的 iPhone 应用程序,但animateWithDuration:
. 在我打开自动布局之前,当 UITextField 成为第一响应者时,界面元素会在屏幕上略微向上移动,而当 UITextField 失去其第一响应者状态时,界面元素会向下移动回原来的位置。现在,它们只是随意地在屏幕上飞来飞去,我不知道为什么。我使用下面的代码移动对象(这在关闭自动布局的情况下工作):
[UIView animateWithDuration:.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
int offset = 160;
[object1 setFrame:CGRectMake(0, -offset, object1.frame.size.width, object1.frame.size.height)];
[object2 setFrame:CGRectMake(object2.frame.origin.x, object2.frame.origin.y-offset, object2.frame.size.width, object2.frame.size.height)];
[object3 setFrame:CGRectMake(object3.frame.origin.x, object3.frame.origin.y-offset, object3.frame.size.width, object3.frame.size.height)];
}
completion:^(BOOL finished){}];
它与尝试将对象移动一个常数有关吗?即使我设置offset
为0
,所有对象仍会飞出屏幕。我已经尝试检测设备具有哪个屏幕并将对象移动不同的量,但这也没有奏效。有人有什么想法吗?
提前致谢!