美文网首页
iOS字体变化

iOS字体变化

作者: 夜雨聲煩_ | 来源:发表于2021-06-30 15:20 被阅读0次

    随系统设置变化

    两行代码:

    label.adjustsFontForContentSizeCategory = YES;
    label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleTitle1];
    

    示例:

    UILabel *label  = [[UILabel alloc] initWithFrame:CGRectMake(20, 100, 599, 30)];
    label.textColor = [UIColor blackColor];
    label.text = @"123abcd阿道夫辣豆腐急功近利感觉跟jhkbkbkjkb kjb客家话可";
    label.adjustsFontForContentSizeCategory = YES;
    label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleTitle1];
    [self.view addSubview:label];
    
    UILabel *label2  = [[UILabel alloc] initWithFrame:CGRectMake(20, 200, 599, 30)];
    label2.textColor = [UIColor blackColor];
    label2.text = @"123abcd阿道夫辣豆腐急功近利感觉跟jhkbkbkjkb kjb客家话可";
    label2.adjustsFontForContentSizeCategory = YES;
    label2.font = [UIFont preferredFontForTextStyle:UIFontTextStyleFootnote];
    [self.view addSubview:label2];
    

    系统提供UIFontTextStyleTitle1等各种不同大小字体。
    如果想使用其他字体,使用如下方法:

    UIFontDescriptor *userFont = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
    float userFontSize = [userFont pointSize];
    UIFont *font = [UIFont fontWithName:@"ArialHebrew-Bold" size:userFontSize];
    

    系统字体大小改变设置回调,微信实现方式。可收到通知后进行自定义提示:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(contentSizeChanged:) name:UIContentSizeCategoryDidChangeNotification object:nil];
    
    //noti中UIContentSizeCategoryNewValueKey字段返回设置字体。
    - (void)contentSizeChanged:(NSNotification *)noti {
        //"UICTContentSizeCategoryXS": 44,
    //    "UICTContentSizeCategoryS": 44,
    //    "UICTContentSizeCategoryM": 44,
    //    "UICTContentSizeCategoryL": 44,
    //    "UICTContentSizeCategoryXL": 55,
    //    "UICTContentSizeCategoryXXL": 65,
    //    "UICTContentSizeCategoryXXXL": 65,
    //
    //    "UICTContentSizeCategoryAccessibilityM": 65,
    //    "UICTContentSizeCategoryAccessibilityL": 65,
    //    "UICTContentSizeCategoryAccessibilityXL": 65,
    //    "UICTContentSizeCategoryAccessibilityXXL": 65,
    //    "UICTContentSizeCategoryAccessibilityXXXL": 75
        NSLog(@"----------------------------");
    }
    

    在app内设置字体大小

    例如微信,在设置中可以使用滑块设置全区字体大小。

    相关文章

      网友评论

          本文标题:iOS字体变化

          本文链接:https://www.haomeiwen.com/subject/uberultx.html