RSFontSize allows you to manage different font sizes for every device screen size in a flexible manner.
- No more family name and styles typing/guessing every time you use a font.
- Flexible size configurations(Fixed, Proportional to screen size and user specific).
- Smart size estimation for vague specifications.
- Save your font configurations for different UIFontTextStyle(.body, .headline, etc).
RSFontSizes is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "RSFontSizes"
From poorly managed font sizes:
Fonts are set directly from IB.
To readable texts:
Fonts using RSFontSizes.
Just link your font assets to the project. Very detailed guide here.
If there are too many font files to add, FontBlaster pod is strongly recommended. It's a simple solution to load your assets automatically instead of manually adding every file to the Info.plist.
extension Font {
//Your Custom font family names
static let raleway = "Raleway"
}
There are different types to get your fonts correctly sized:
-Fixed: The consumer sets the font point size or uses one of the provided classes(.small, .medium, etc).
let font = Font.raleway.with(style: .regular, size: .medium)
No magic here :)
-Proportional: The consumer will specify a base font size asociated with a device screen size.
let font = Font.raleway.with(style: .thin, size: .proportional(to: (.screen3_5Inch, 10)))
The result will be a font resized accordingly for the current device screen size.
-Screen Specific: The consumer defines a set of font sizes linked to an specific screen size.
let font = Font.raleway.with(style: .regular,
size: .specific(with: [.screen4Inch:12,
.screen4_7Inch: 13.5,
.screen5_5Inch: 16,
.screen9_7Inch: 20.2]))
If a screen size is not specified the library will try to estimate the correct value for the font size.
let font = "Raleway".with(style: .bold, size: .fixed(20))
Font.save(font: someFont, forClass: .body)
And then use it elsewhere:
let label.font = Font.with(class: .body)
To run the example project, clone the repo, and run pod install
from the Example directory first.
Rootstrap Inc., german@rootstrap.com
RSFontSizes is available under the MIT license. See the LICENSE file for more info.