在iOS中有一项功能,就是用户可以自定义设备的字体大小,粗体和其他一些样式。具体可以选择 “设置” ---- “通用” ---- “字体大小“ / “辅助功能”, 重新调整文本字体的样式。
如何使app支持文本动态样式修改?
1)使用 preferredFontForTextStyle 方法给文本设置一个样式。
self.textView.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
关于TextStyle,API中预设了几种:
UIFontTextStyleHeadline
UIFontTextStyleBody
UIFontTextStyleSubheadline
UIFontTextStyleFootnote
UIFontTextStyleCaption1
UIFontTextStyleCaption2
2) 监听样式变化通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(preferredContentSizeChange:) name:UIContentSizeCategoryDidChangeNotification object:nil]; - (void)preferredContentSizeChange:(NSNotification *)notification { self.textView.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline]; }