在长度超过屏幕区域50%的表单中,输入将显示在键盘下方。 我想调整视图,以便在键盘显示时保持所选输入始终可见,并在键盘消失时重置其位置。
有什么想法吗? 感谢。
答案 0 :(得分:3)
“iPhone应用程序编程指南”中的Managing the Keyboard部分讨论了如何接收键盘显示/不显示的通知,以及如何保持内容可见(包括示例代码)。
答案 1 :(得分:2)
如果您在UIScrollView
,则可以使用-scrollRectToVisible:animated:
method移至视图的特定部分。
如果您使用UITableView
,则可以使用-scrollToRowAtIndexPath:atScrollPosition:animated:
method滚动到特定行,或- scrollToNearestSelectedRowAtScrollPosition:animated:
。
答案 2 :(得分:0)
答案 3 :(得分:0)
试用此代码:
#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];
}
当您想要向上滑动视图方向时,或当键盘成为第一个响应者时,将bool值传递为YES
,否则NO
。