我有一个包含显示静态文本的 UITextview 的应用程序。我使用 UITextview 来滚动文本,这比在 UILabel 中显示的要长得多。出于某种原因,iOS 7 下的 UITextview 中的文本在旋转后不会保持滚动到顶部。这在 iOS 6 下运行时按预期工作。
这可以通过创建一个具有 UITextview 的项目来显示,该项目以故事板为中心,边距约为 50。然后添加将 UITextview 固定到主视图边缘的约束。确保文本字段包含足够的文本以导致滚动:
现在运行应用程序,文本将正确定位在 UITextview 中,第一行显示在顶部。旋转后,文字会下移:
旋转回纵向后,文本仍向下滚动几行。
如果您在 iOS 6 中运行它,所有这些都可以完美运行。我已经尝试进行了大量研究,并在 viewWillLayoutSubviews 中尝试了以下可能的解决方案,以使文本保持原位:
[textView sizeToFit];
[textView layoutIfNeeded];
[textView setContentOffset:CGPointMake(0.0, 0.0)];
[textView scrollRectToVisible:CGRectMake(0.0, 0.0, 1.0, 1.0) animated:NO];
似乎没有任何效果。有谁知道如何保持文字的位置?