I was working through the Using Text Kit to Manage Text in Your iOS Apps tutorial. It was written for Objective C but I thought I would try to do it anyway using Swift.
However, when I got to the following code I couldn't figure out how to set the heading and other styles for the UITextView
using Swift. Here is the Objective C code:
- (IBAction)applyHeadlineStyle:(id)sender {
[_textView setFont:[UIFont preferredFontForTextStyle:UIFontTextStyleHeadline]];
}
- (IBAction)applySubHeadlineStyle:(id)sender {
[_textView setFont:[UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]];
}
- (IBAction)applyBodyStyle:(id)sender {
[_textView setFont:[UIFont preferredFontForTextStyle:UIFontTextStyleBody]];
}
- (IBAction)applyFootnoteStyle:(id)sender {
[_textView setFont:[UIFont preferredFontForTextStyle:UIFontTextStyleFootnote]];
}
- (IBAction)applyCaption1Style:(id)sender {
[_textView setFont:[UIFont preferredFontForTextStyle:UIFontTextStyleCaption1]];
}
- (IBAction)applyCaption2Style:(id)sender {
[_textView setFont:[UIFont preferredFontForTextStyle:UIFontTextStyleCaption2]];
}
I tried
textView.setFont =
textView.preferredFontForTextStyle =
Neither of these seemed to work, though, and I couldn't find any Swift answers on SO.
This tutorial had some code samples that showed how to do it.
// headline
textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.headline)
// subheadline
textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.subheadline)
// body
textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.body)
// footnote
textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.footnote)
// caption 1
textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.caption1)
// caption 2
textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.caption2)