【问题标题】:UITextView scrolls to top on hiding keyboard in iOS 8UITextView 在 iOS 8 中隐藏键盘时滚动到顶部
【发布时间】:2014-10-08 13:32:47
【问题描述】:

我的 UITextView 使用属性文本。 当我调用 resignFirstResponder 时,它总是滚动到顶部。

这只发生在我的 iOS 8 模拟器上。不是我的 iOS 7 手机。

有什么办法可以防止这种情况发生吗?

【问题讨论】:

  • 我这两天一直在寻找解决方案,但没有找到。这个错误非常令人沮丧。

标签: uiscrollview ios8 uitextview


【解决方案1】:

我想我找到了解决这个问题的方法。

首先,我现在调用[textView setEditable:NO] 来关闭键盘,而不是调用resignFirstResponder

在 iOS 8 中初始化 UITextViews 时似乎存在一个错误。长话短说,子视图(我的 UITextView)UITextContainerView 的 minSize Y 值没有被初始化为与 UITextView 的框架相同的大小。它被设置为 0。

为了强制初始化该值,因为它不能直接访问,我发现在 viewDidLoad 中调用 [textView setScrollEnabled:NO] 会将 Y 设置为与我框架的大小 Y 值相同,这解决了我的很多滚动问题在 iOS 8 中。

我还必须在viewDidAppear 中将滚动设置为启用,以便它们仍然可以滚动。

【讨论】:

  • 通过在 viewDidLoad 中将 scrollEanbled 设置为 NO 并在 viewDidAppear 中设置回 YES 来查看类似的问题,resignFirstResponder 也已修复。
  • 顺便说一句,这是一个了不起的修复,一直在寻找几天来修复由这个错误引起的各种问题,谢谢!!!!
猜你喜欢
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
相关资源
最近更新 更多