这是键盘隐藏文本字段的常见问题。此外,还有很多解决方案在SO上发布。
所以目前我指的是following post,它在iPad纵向模式下运行良好,但在iPad横向模式下,视图向左滑动,我希望视图向上移动。
- (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];
}
答案 0 :(得分:0)
由于iPad本身为键盘提供了“Undock”和“Split”等良好选项,因此通常我们不需要安排Text Field。虽然如果您需要检查设备当前方向,请考虑您的问题
根据动画文字字段框架使用[[UIDevice currentDevice] orientation]
。