我想创建一个应用程序,根据iOS在“设置”中维护的字体大小增加或减少字体大小。如果您从设置更改iOS的字体大小,相应地显示whatsapp字体大小,我想要相同的功能。
答案 0 :(得分:2)
您要查找的iOS功能是 Dynamic Type
,该功能仅适用于已实现text styles的文本。
基本上,您必须:
text styles
,但要注意,它们的可用性取决于您的iOS版本。 adjustsFontForContentSizeCategory
属性(自iOS 10起)或通过代码实现,以告知系统自动处理其所属对象的动态类型(当然必须使用文本样式)。您还可以按照以下指示关注与Dynamic Type
事件相关的通知:
WWDC video detailed summary中的所有内容都得到了很好的解释,其中指示了所有内容及其视频时移,以便快速获取信息。
使用动态类型实现也有adapting the graphical elements size的可能性。
答案 1 :(得分:0)
如果要为标签使用动态类型,则需要执行的操作。这意味着不要明确设置它,而是使用Header 1
或caption
等样式。此样式取决于“辅助功能”中的用户设置,并将自动更改。 https://www.raywenderlich.com/77092/text-kit-tutorial-swift
答案 2 :(得分:0)
您可以使用文本的系统默认大小,例如
self.label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
请查找文档here。
对于其他组件,您可以使用labelFontSize()等等,
+ (CGFloat)labelFontSize;//Returns the standard font size used for labels.
+ (CGFloat)buttonFontSize;//Returns the standard font size used for buttons.
+ (CGFloat)smallSystemFontSize;//Returns the size of the standard small system font.
+ (CGFloat)systemFontSize;//Returns the size of the standard system font.