1

在超过 50% 屏幕区域的表单中,输入将出现在键盘下方。我想调整视图以在键盘显示时保持所选输入始终可见,并在键盘消失时重置其位置。

有任何想法吗?谢谢。

4

4 回答 4

3

iPhone 应用程序编程指南中的管理键盘部分讨论了如何接收键盘显示/不显示的通知,以及如何保持内容可见(包括示例代码)。

于 2009-10-20T13:16:00.070 回答
2

如果您在 中UIScrollView,则可以使用该-scrollRectToVisible:animated:方法移动到视图的特定部分。

如果您在 中UITableView,则可以使用该 -scrollToRowAtIndexPath:atScrollPosition:animated:方法滚动到特定行,或- scrollToNearestSelectedRowAtScrollPosition:animated:.

于 2009-10-20T10:45:17.640 回答
0

使用https://github.com/michaeltyson/TPKeyboardAvoiding自动管理键盘

于 2013-12-16T11:24:17.867 回答
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];
}

当您想向上滑动视图时,或者当键盘成为第一响应者时,传递布尔值,YES否则NO

于 2013-12-16T11:33:06.943 回答