0

在 CSS 中,您有font-size属性,可用于指定相对于文本其余部分的字体大小。

在 iOS中实现自定义相对字体大小属性需要什么(仅需要 iOS 7 兼容性)?是否有任何第三方解决方案已经实现了这一点?

(我希望该解决方案对支持属性文本的所有内容都很有用:UILabel、UITextView、... UIButton 中的 titleLabel 等)

4

1 回答 1

1

假设您想为您自己的自定义标题定义与用户首选的正文字体大小(即动态类型)相关的属性。

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 中。

于 2013-11-12T21:52:12.170 回答