2011-08-18 168 views
0

我有一个UIViewController,其中包含UITextField。我将文本字段的inputAccessory设置为我创建的UIToolbar。 我的视图控制器的观点是内部UIScrollView(来处理键盘的弹出事件)在iPhone上弹出键盘时取消滚动动画

前:

Before 现在,当键盘弹出,突然我的滚动型是设置它的contentOffset.y 64个动画,

后::

After

所以我的视图的一部分上方的屏幕的顶部推

这是由框架完成的,因为我为inputAccessoryView使用了一个工具栏。 如果我丢弃工具栏,则不会有动画,也不会有内容偏移。

是否有人知道如何禁用此自动动画和滚动?

谢谢!

回答

0

您可以使用布尔标志和您的UIScrollViewDelegate的组合来防止滚动发生。滚动视图代表可以用来检测滚动发生的时间,修改滚动的类型,也可以简单地阻止它发生,所以最好的方法可能是检查键盘上升的时间(通过通知或文本字段委托,更合适),并将其与滚动视图委托结合使用。

+0

如果内容偏移改变,委托方法仍然会被调用吗? –