在超过 50% 屏幕区域的表单中,输入将出现在键盘下方。我想调整视图以在键盘显示时保持所选输入始终可见,并在键盘消失时重置其位置。
有任何想法吗?谢谢。
在超过 50% 屏幕区域的表单中,输入将出现在键盘下方。我想调整视图以在键盘显示时保持所选输入始终可见,并在键盘消失时重置其位置。
有任何想法吗?谢谢。
iPhone 应用程序编程指南中的管理键盘部分讨论了如何接收键盘显示/不显示的通知,以及如何保持内容可见(包括示例代码)。
如果您在 中UIScrollView
,则可以使用该-scrollRectToVisible:animated:
方法移动到视图的特定部分。
如果您在 中UITableView
,则可以使用该 -scrollToRowAtIndexPath:atScrollPosition:animated:
方法滚动到特定行,或- scrollToNearestSelectedRowAtScrollPosition:animated:
.
试试这个代码:
#define kTextFieldMovementDistance 150.0 //You can set this according to your need
#define kMinimumMovementDuration 0.3f
- (void) slidingViewUpward: (BOOL) isSlidingUp
{
CGFloat movementDistance = kTextFieldMovementDistance;
const float movementDuration = kMinimumMovementDuration;
int movement = (isSlidingUp ? -movementDistance : movementDistance);
[UIView beginAnimations: @"animation" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
[UIView commitAnimations];
}
当您想向上滑动视图时,或者当键盘成为第一响应者时,传递布尔值,YES
否则NO
。