I have a UITextView with some texts. I want the big screen has bigger font size but the format is same. How can I do this?
Asked
Active
Viewed 4,354 times
3
-
What do you mean when you say "big screen" ? bigger iPhone screen like iPhone 6 or 6 plus comparing to the iPhone 5 ? – Boaz Saragossi Jan 26 '15 at 08:04
3 Answers
9
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.
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:

Para
- 3,681
- 4
- 23
- 34
4
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.
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

Marius Fanu
- 6,589
- 1
- 17
- 19
1
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)
}

Oscar Falmer
- 1,771
- 1
- 24
- 38