如何增加整个应用程序的字体大小?

Sunny Shah

我正在开发需要更改所有控件的动态字体大小的应用程序。

在此处输入图片说明

如您在屏幕截图中所见,我必须根据字体大小的百分比更改字体。

例如

对于100%

lbl.font=[UIFont systemFontOfSize:20.0f];
lbl1.font=[UIFont systemFontOfSize:30.f];

对于80%

lbl.font=[UIFont systemFontOfSize:16.0f];
lbl1.font=[UIFont systemFontOfSize:24.f];

对于50%

lbl.font=[UIFont systemFontOfSize:10.0f];
lbl1.font=[UIFont systemFontOfSize:15.f];

最好的方法是什么?

Sunny Shah

回答我自己的问题。我不确定这是最好的方法。

枚举对于不同的字体大小

  typedef enum {
    UIFontCategoryExtraSmall,
    UIFontCategorySmall,
    UIFontCategoryMedium,
    UIFontCategoryLarge,
    UIFontCategoryExtraLarge
} UIFontCategory;

#define FONT_SIZE_KEY @"fontsize"

UIFont的类别类

@interface UIFont (CustomFonSize)

+(UIFont *)preferredFontSizeWithMaxFontSize:(CGFloat )fontSize;

@end



 @implementation UIFont (AvenirContentSize)

+ (UIFont *)preferredFontSizeWithMaxFontSize:(CGFloat )fontSize; {
    // choose the font size
    NSInteger currentFontSize=[[NSUserDefaults standardUserDefaults]integerForKey:FONT_SIZE_KEY];

    if (currentFontSize==UIFontCategoryExtraSmall) {
        fontSize = fontSize-8;

    } else if (currentFontSize==UIFontCategorySmall) {
        fontSize = fontSize-6;

    } else if (currentFontSize==UIFontCategoryMedium) {
        fontSize = fontSize-4;

    } else if (currentFontSize==UIFontCategoryLarge) {
        fontSize = fontSize-2;

    } else if (currentFontSize==UIFontCategoryExtraLarge) {
        fontSize = fontSize;

    }

    return [UIFont systemFontOfSize:fontSize];


}

自定义字体类的使用

lbl.font=[UIFont preferredFontSizeWithMaxFontSize:16.0f];
lbl1.font=[UIFont preferredFontSizeWithMaxFontSize:24.f];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何向fyne UI应用程序添加填充,字体大小和颜色

增加此简单的go gui应用程序的默认字体大小

从本机设置更改字体大小后,Android应用程序中TextView的字体大小也会更改

Swift增加UITextview的字体大小,如何?

在整个应用程序中更改字体大小

如何增加表格组件的字体大小

如何在整个MaterialApp中增加字体大小?

在Vaadin Flow Web应用程序中动态更改字体,字体大小,字体颜色等

Ionic 3应用程序-如何使字体大小独立于本机设置?

如何防止系统字体大小更改对nativescript-angular android应用程序的影响

如何在正在运行的Gtk3应用程序中修改字体大小?

增加Gtk应用程序的字体大小

应用程序字体大小不变

有没有办法增加Java GUI应用程序的默认字体大小?

如何通过更改设置字体大小来使应用程序中的字体大小不受影响

如何防止系统字体大小更改对android应用程序的影响?

单击时增加整个项目的字体大小

如何使用UISLIDER控制iOS应用程序的所有UI控件的字体大小?

更改移动Web应用程序的字体大小选项?

如何在运行Gnome的Ubuntu 18.04中增加特定应用程序的字体大小?

通过用户选择增加和减少android应用程序的字体大小

X增加单个应用程序的字体大小(无X资源)

如何增加窗口标题的字体大小?

Java如何增加字体大小?

需要能够在整个应用程序中更改字体大小,以实现可访问性

增加整个 html 文档(所有元素)的字体大小

如何增加javascript中的字体大小?

更改整个应用程序的比例和字体大小

如何在 Flutter 中为文本元素设置应用程序宽字体大小?