【发布时间】:2014-10-08 13:32:47
【问题描述】:
我的 UITextView 使用属性文本。 当我调用 resignFirstResponder 时,它总是滚动到顶部。
这只发生在我的 iOS 8 模拟器上。不是我的 iOS 7 手机。
有什么办法可以防止这种情况发生吗?
【问题讨论】:
-
我这两天一直在寻找解决方案,但没有找到。这个错误非常令人沮丧。
标签: uiscrollview ios8 uitextview
我的 UITextView 使用属性文本。 当我调用 resignFirstResponder 时,它总是滚动到顶部。
这只发生在我的 iOS 8 模拟器上。不是我的 iOS 7 手机。
有什么办法可以防止这种情况发生吗?
【问题讨论】:
标签: uiscrollview ios8 uitextview
我想我找到了解决这个问题的方法。
首先,我现在调用[textView setEditable:NO] 来关闭键盘,而不是调用resignFirstResponder。
在 iOS 8 中初始化 UITextViews 时似乎存在一个错误。长话短说,子视图(我的 UITextView)UITextContainerView 的 minSize Y 值没有被初始化为与 UITextView 的框架相同的大小。它被设置为 0。
为了强制初始化该值,因为它不能直接访问,我发现在 viewDidLoad 中调用 [textView setScrollEnabled:NO] 会将 Y 设置为与我框架的大小 Y 值相同,这解决了我的很多滚动问题在 iOS 8 中。
我还必须在viewDidAppear 中将滚动设置为启用,以便它们仍然可以滚动。
【讨论】: