在 CSS 中,您有font-size属性,可用于指定相对于文本其余部分的字体大小。
在 iOS中实现自定义相对字体大小属性需要什么(仅需要 iOS 7 兼容性)?是否有任何第三方解决方案已经实现了这一点?
(我希望该解决方案对支持属性文本的所有内容都很有用:UILabel、UITextView、... UIButton 中的 titleLabel 等)
在 CSS 中,您有font-size属性,可用于指定相对于文本其余部分的字体大小。
在 iOS中实现自定义相对字体大小属性需要什么(仅需要 iOS 7 兼容性)?是否有任何第三方解决方案已经实现了这一点?
(我希望该解决方案对支持属性文本的所有内容都很有用:UILabel、UITextView、... UIButton 中的 titleLabel 等)
假设您想为您自己的自定义标题定义与用户首选的正文字体大小(即动态类型)相关的属性。
UIFontDescriptor *bodyFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
NSNumber *bodyFontSize = bodyFont.fontAttributes[UIFontDescriptorSizeAttribute];
float bodyFontSizeValue = [bodyFontSize floatValue];
UIFont *headerOneFont = [UIFont fontWithDescriptor:bodyFontDescriptor size:bodyFontSizeValue * 3.0f];
NSDictionary *headerOneAttributes = @{NSFontAttributeName : headerOneFont};
UIFont *headerTwoFont = [UIFont fontWithDescriptor:bodyFontDescriptor size:bodyFontSizeValue * 2.0f];
NSDictionary *headerTwoAttributes = @{NSFontAttributeName : headerTwoFont};
此代码基于 raywenderlich.com 的“iOS 7 by Tutorials”第 4 章和第 5 章中的代码。
属性字典可用于初始化属性字符串对象,而这些对象又可以显示在 UILabels、UITextViews 和 UITextFields 中。