键盘隐藏时滚动视图到底部

时间:2010-05-11 19:48:41

标签: iphone objective-c scroll uiscrollview

我正在使用滚动视图来移动我的视图,并在键盘显示时显示某些文本字段(否则将被隐藏)。我基本上调整了滚动视图的大小以便为键盘腾出空间,然后使用“scrollRectToVisible”顺利向上滚动视图,这非常有效。之后,我可以在不降低键盘的情况下滚动和编辑其余文本字段,这就是我想要的。

当我想再次隐藏键盘时出现问题。我已经能够降低键盘并将视图向下滚动到原始位置而没有任何问题,但我无法使转换顺利进行。

目前我使用以下内容:

- (void)keyboardWillHide: (NSNotification *)notif {

    CGRect topRect = CGRectMake(0, 0, 1, 1);
    [scrollview scrollRectToVisible:topRect animated:YES];

    scrollview.frame = CGRectMake(0, 0, scrollviewWidth, scrollviewHeight);     
}

我在顶部创建了一个CGRect,然后我使用“scrollRectToVisible”进入视图。这工作正常,并在键盘隐藏时开始向右滚动(我使用“keyboardWillHide”而不是“keyboardDidHide”,因为滚动视图框仍然缺少其下半部分。)

当我将滚动视图框的大小调整回原始尺寸(我需要这样做)时会出现问题,因为滚动被中断并且视图突然下降到底部(因为没有其他内容可以滚动)。这会导致故障,这就是我无法顺利完成过渡的原因。

关于如何在平滑地向下滚动视图时降低键盘的任何想法?

我应该向上滚动更大的视图,而不是调整大小吗?这样我就不必在降低键盘时恢复滚动视图框架的尺寸,或者我会吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

相关问题