当键盘显示时,我使用滚动视图来移动视图并显示某些文本字段(否则这些字段将被隐藏)。我基本上调整了滚动视图的大小,以便为键盘腾出空间,然后使用"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”,因为滚动视图框仍然缺少它的下部)。
当我将滚动视图框的大小调整回其原始尺寸时,问题就来了(我需要这样做),因为此时滚动被中断,视图突然下降到底部(因为没有其他要滚动的内容)。这会导致一个小故障,这就是我不能顺利完成转换的原因。
关于如何在平滑地向下滚动视图的同时放下键盘,您有什么想法吗?
我应该滚动更大的视图,而不是调整它的大小吗?这样,我就不必在放下键盘时恢复滚动图框尺寸,或者我会吗?
非常感谢提前!
发布于 2010-05-12 06:04:57
https://stackoverflow.com/questions/2813955
复制相似问题