iphone弹出键盘时取消滚动动画
Posted
技术标签:
【中文标题】iphone弹出键盘时取消滚动动画【英文标题】:Canceling the scrolling animation when keyboard pops up on iphone 【发布时间】:2011-08-18 15:02:55 【问题描述】:我有一个包含UITextField
的UIViewController
。我将文本字段的inputAccessory
设置为我创建的UIToolbar
。
我的 ViewController 的视图在 UIScrollView
里面(处理键盘弹出的事件)
之前:
现在,当键盘弹出时,突然我的 ScrollView 将它的 contentOffset.y
设置为 64 并带有动画,所以我的部分视图被推到了屏幕顶部:
之后:
这是由框架完成的,因为我使用的是 inputAccessoryView 的工具栏。 如果我要放下工具栏,则没有动画和内容偏移。
有谁知道如何禁用此自动动画和滚动?
谢谢!
【问题讨论】:
【参考方案1】:您可以使用布尔标志和UIScrollViewDelegate
的组合来防止滚动发生。滚动视图委托可用于检测何时发生滚动、修改滚动类型以及简单地防止它发生,因此您最好的方法可能是研究检测键盘何时上升(通过通知或文本字段委托,以更合适的为准)并将其与滚动视图委托结合使用。
【讨论】:
如果内容偏移量改变了,还会调用委托方法吗?以上是关于iphone弹出键盘时取消滚动动画的主要内容,如果未能解决你的问题,请参考以下文章
iPhone - 出现键盘时如何滚动 UITextField 并调整 UITextView 的大小