[英]Adjust font size in UITextView on screen of different size
I have a UITextView with some texts. 我有一些带有一些文本的UITextView。 I want the big screen has bigger font size but the format is same. 我希望大屏幕有更大的字体大小,但格式是相同的。 How can I do this? 我怎样才能做到这一点?
I know it's a bit more advanced than the code-only solutions you've already found here, but I would encourage you to take some time and read about Adaptive Layouts: it's the future of UI development for different screens on iOS. 我知道它比你在这里找到的仅使用代码的解决方案更先进,但我建议你花一些时间阅读有关自适应布局的内容:这是iOS上不同屏幕的UI开发的未来。
For instance, you can target different screen sizes and orientations using size classes. 例如,您可以使用大小类定位不同的屏幕大小和方向。 You can get an overview here: width & height traits . 您可以在此处获得概述: 宽度和高度特征 。
Here are a few pointers if you need to begin from zero: 如果你需要从零开始,这里有一些指示:
You can detect the screen size of the device using UIScreen.mainScreen().bounds.height
and depending on the screen size you are you set a different font size. 您可以使用UIScreen.mainScreen().bounds.height
检测设备的屏幕大小,并根据屏幕大小设置不同的字体大小。
See example below: 见下面的例子:
let screenHeight = UIScreen.mainScreen().bounds.height
switch screenHeight {
case 480: // 3.5 inch
UIFont(name: "Helvetica", size: 16)
case 568: // 4 inch
UIFont(name: "Helvetica", size: 17)
default: // rest of screen sizes
UIFont(name: "Helvetica", size: 20)
}
Here you can check out the screen sizes here 在这里,你可以检查出的屏幕尺寸在这里
Here are all screen sizes :) 以下是所有屏幕尺寸:)
let screenWidth = self.view.frame.size.width
switch screenWidth {
case 320: // iPhone 4 and iPhone 5
label.font = UIFont(name: "Avenir-Book", size: 16)
case 375: // iPhone 6
label.font = UIFont(name: "Avenir-Book", size: 18)
case 414: // iPhone 6 Plus
label.font = UIFont(name: "Avenir-Book", size: 20)
case 768: // iPad
label.font = UIFont(name: "Avenir-Book", size: 25)
default: // iPad Pro
label.font = UIFont(name: "Avenir-Book", size: 30)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.