UITextView 文本被截断 - iOS 10

4

我在使用iOS 10和Swift 3时遇到了一个奇怪的问题。UITextView有时会“卡住”。所谓“卡住”,就是它内部的文本被切断,只有一部分可见。当出现这种情况时,UITextView无法滚动。

在Storyboard中,我将它固定在边缘上。

与此视图相关的代码:

override func viewDidLoad() {

...

lyricsTextView.text = song.lyrics
lyricsTextView.font = UIFont(name: "Avenir-Roman", size: 15)
lyricsTextView.textAlignment = .center

...

override func viewDidLayoutSubviews() {
    lyricsTextView.setContentOffset(CGPoint.zero, animated: false)
}

我在iOS 9上没有遇到过问题,这个问题只在我的真实设备上出现,模拟器上没有。

有人经历过类似的情况吗?

谢谢!

编辑:

现在它也在模拟器中出现了!


这里一定有一个深层次的错误,因为我在Xcode界面本身中看到了同样的问题!右侧的快速帮助检查器经常无法滚动到足以阅读整个内容。我已经提交了一个错误报告;我建议你也提交一个错误报告!(不过你可以先看看新的Xcode 8.1 beta是否修复了这个问题。) - matt
在iOS9上,我也遇到了同样的问题,它是完全不可预测的。即使在相同的运行会话中关闭/打开屏幕也不能解决它;我还没有找到永久性的解决方法,在我的情况下,当我改变层的'sublayerTransform'值并为视图设置透视时,它经常出现-这可能是由我无法实际修复或更改的背景因素引起的。我的问题也只出现在真实设备上,可能3D引擎在OSX和iOS上的实现不同。 - holex
2个回答

8

1
一个优雅的解决方案是在设置完TextView后使用sizeToFit()
Swift 5:
yourTextView.sizeToFit()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接