在iphone上弹出键盘时取消滚动动画

时间:2011-08-18 15:02:55

标签: iphone ios cocoa-touch uiscrollview uitextfield

我的UIViewController包含UITextField。我将文本字段的inputAccessory设置为我创建的UIToolbar。 我的ViewController的视图位于UIScrollView内(用于处理键盘弹出的事件)

在:

Before 现在,当键盘弹出时,我的ScrollView突然将动态设置为contentOffset.y为64,因此部分视图被推到屏幕顶部:

后:

After

这是由框架完成的,因为我正在使用inputAccessoryView的工具栏。 如果我放弃工具栏,则没有动画,也没有内容偏移。

有谁知道如何禁用此自动动画和滚动?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用布尔标记和UIScrollViewDelegate的组合来防止滚动发生。滚动视图委托可用于检测滚动时间,修改滚动类型,还可以简单地防止它发生,因此您最好的方法可能是检测键盘何时上升(通过通知或文本字段)委托,以较合适者为准)并与滚动视图委托结合使用。