我正在使用滚动视图来移动我的视图,并在键盘显示时显示某些文本字段(否则将被隐藏)。我基本上调整了滚动视图的大小以便为键盘腾出空间,然后使用“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”,因为滚动视图框仍然缺少其下半部分。)
当我将滚动视图框的大小调整回原始尺寸(我需要这样做)时会出现问题,因为滚动被中断并且视图突然下降到底部(因为没有其他内容可以滚动)。这会导致故障,这就是我无法顺利完成过渡的原因。
关于如何在平滑地向下滚动视图时降低键盘的任何想法?
我应该向上滚动更大的视图,而不是调整大小吗?这样我就不必在降低键盘时恢复滚动视图框架的尺寸,或者我会吗?
非常感谢!