我有一个包含显示静态文本的 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];
似乎什么都不起作用。有谁知道如何保持文本的位置?
尝试这个:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[self.textView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
}
我在 iOS 7.1 上对此进行了测试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)