自动调整大小UITextView以实现兼容性 - Swift 3

时间:2017-08-24 15:11:00

标签: swift xcode

我正在构建一个应用程序,这似乎是一个简单的问题,但我无法解决它的生活。

在屏幕上,我有大量的文字,通过UITextView提供。我希望它基本上是静态的,没有滚动条。

如果我在设计视图中手动调整大小并在iPhone 7上运行它,那么文本很合适。但是,如果我在iPhone 5c上运行它,由于屏幕尺寸太小,然后自然减少它并添加滚动。

有没有办法告诉文本显示全部并相应调整大小,类似于SizeToFit()命令?

3 个答案:

答案 0 :(得分:1)

如果您不想要滚动行为,请使用标签。

label.adjustsFontSizeToFitWidth = true
label.numberOfLines = 0

如果标签不够大,这将修复字体大小。

答案 1 :(得分:0)

将约束(屏幕截图中的小红线)分配给您的UITextView,然后它将适合所有尺寸 enter image description here

就像@Orkhan Alikhanov所说,使用UITextView.scrollEnabled = false - 禁用textview中的滚动

答案 2 :(得分:0)

如果您不想滚动,为什么使用文本字段而不是标签?无论哪种方式,您都可以使用此处的答案First invokable signature来确定您正在使用的设备,然后您可以根据该信息设置字体大小。

我建议创建一个执行此计算的函数,然后返回字体大小,这样您就可以在设置字体时调用它。