我如何在iOS 7中支持UILabel
和UITextView
的动态类型?我正在为我们的一个项目适应iOS 7,并希望支持这个无障碍功能。我找不到关于它的具体教程在苹果的iOS开发者网站上。
我如何在iOS 7中支持UILabel
和UITextView
的动态类型?我正在为我们的一个项目适应iOS 7,并希望支持这个无障碍功能。我找不到关于它的具体教程在苹果的iOS开发者网站上。
UIFont
方法,那么您就已经完成了 - 您只需要添加观察者来监听更改。与设置特定字体大小不同,当样式化标签时,您应该使用preferredFontForTextStyle:
和相关方法(如果您使用Interface Builder,则可以直接在检查器中选择样式)。例如:self.label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
。完成后,您应该监听UIContentSizeCategoryDidChangeNotification
通知。当您接收到此通知时,您应该布局标签以支持新选定的大小(如果您使用autolayout,则通常只需向视图发送invalidateIntrinsicContentSize
即可)。如果您正在寻找官方文档,请查看文本编程指南。preferredFontForTextStyle
返回系统字体,但是有没有办法使用自定义字体来实现这个功能呢? - kevinheadline.font = UIFont.preferredFont(forTextStyle: UIFontTextStyleHeadline)
headline.adjustsFontForContentSizeCategory = true
请参见此优秀文章,了解更多信息,特别是如何支持iOS 10之前的版本。