转载请注明出处!!!

如题,今天突发奇想,在iPhone中如果系统文字大小改变后,应用内文字大小会不会跟随变化。于是我就进行了实验。在设置中改变了文字大小之后,我发现基本上大部分的APP(系统除外)都不会跟随改变。(如美团、饿了么、淘宝、支付宝等)

只有微信提示是否更换大小(微信内置了更改文字大小),QQ大部分跟随系统改变。

那么它是如何做到的?

我发现可以根据一个iOS10新特性来实现这个功能。

下面贴代码,用代码说话:

 UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 100)];
myLabel.text = @"测试,金蝶鸡MMIFMIIRFMIMIRIFMI";
// 设置文字字体跟随
myLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
// 设置字体大小可以改变
myLabel.adjustsFontForContentSizeCategory = YES;
myLabel.numberOfLines = 0;
myLabel.backgroundColor = [UIColor redColor];
[self.view addSubview:myLabel]; UIButton *MyButton = [UIButton buttonWithType:UIButtonTypeCustom];
MyButton.frame = CGRectMake(100, 350, 100, 100);
[MyButton setTitle:@"测试" forState:UIControlStateNormal];
MyButton.backgroundColor = [UIColor blueColor];
MyButton.titleLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
MyButton.titleLabel.adjustsFontForContentSizeCategory = YES;
[self.view addSubview:MyButton]; UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(250, 350, 200, 100)];
textView.backgroundColor = [UIColor orangeColor];
textView.text = @"交分解诶偶记对将诶偶家的饥饿哦,djiejijd eij dijeiji";
textView.font =[UIFont preferredFontForTextStyle:UIFontTextStyleBody];
textView.adjustsFontForContentSizeCategory = YES;
[self.view addSubview:textView];

iOS 应用文字大小随系统文字大小改变的更多相关文章

  1. UITabBarController 、TabBar背景颜色设置,UITabBarItem的文字样式(颜色和大小)UITabBarItem的位置调整

    改变UITabBarController的颜色 UIView*mView=[[UIView alloc]initWithFrame:CGRectMake(0,0,320,48)];//这是部分tabb ...

  2. 安卓下设置系统字体大小影响H5页面布局

    问题描述: 调整好的h5页面,放在安卓app内嵌页面后布局正常,后来用户调整系统里面字体大小,后内嵌H5布局乱掉 问题分析: 因为用户调整了系统字体的大小,修改了根节点和body节点的font-siz ...

  3. [Android] 字体使用dp单位避免设置系统字体大小对排版的影响

    [Android] 字体使用dp单位避免设置系统字体大小对排版的影响 以魄族mx3为例,在设置->显示->字体大小中能够选择字号大小例如以下图: 图1. 魄族mx3 会导致软件在有固定定高 ...

  4. iOS中求出label中文字的行数和每一行的内容

    今天遇到一个需求,需要计算label中文字的行数.想了好久也没想到好的解决方法,就在网上找了下.结果发现一篇文章是讲这个的.这部分代码不但能够求出一个label中文字行数,更厉害的是能够求出每一行的内 ...

  5. Android默认系统声音/大小修改及配置【转】

    本文转载自:http://blog.csdn.net/a8316124/article/details/60574859 在做定制需求的时候,需要修改系统通知的声音,将其禁用掉,避免第三方应用发送通知 ...

  6. 关于位图数据位和系统管理区大小-P6

    文章目录 1 背景 2 验证 2.1 环境信息 2.2 创建表空间tbs1 2.3 创建表段并拓展至16个区 2.4 查看3号位图块信息 2.5 拓展16号区 2.6 查看3号位图块信息 1 背景 V ...

  7. 设置全局导航栏颜色,标题大小和UIBarButtonItem字体大小

    设置全局导航栏颜色,标题大小和UIBarButtonItem字体大小 在appdelegate里面设置 swift: UINavigationBar.appearance().barTintColor ...

  8. C# 使用 GDI+ 给图片添加文字,并使文字自适应矩形区域

    需求 需求是要做一个编辑文字的页面.用户在网页端写文字,文字区域是个矩形框,用户可以通过下方的拖动条调节文字大小. 如下图: 提交数据的时候前端传文字区域的左上角和右下角定位给后台.因为前端的字体大小 ...

  9. SQL Server 如何设置数据库的默认初始大小和自动增长大小

    我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小.自动增长大小和最大大小,如下图所示: 可以通过设置更改数据库初始大小.自动增长大小和最大大小: 但是其实在SQL ...

  10. CSS实现文字竖排 DIV CSS文字垂直竖列排版显示如何实现?

    DIV CSS实现文字竖排排版显示兼容各大浏览器,让文字垂直竖列排版布局. 有时我们需要一段文字进行从上到下竖列排版,我们知道CSS样式中有一样式可以让其竖列排版,但所有浏览器不全兼容,逼不得已放弃. ...

随机推荐

  1. 精选 10 个 C#/.NET 开发必备开源库!

    DotNetExercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程技巧练习集:C#/.NET/.NET Core编程常用语法.算法.技巧.中间件.类库.工作业务实操练 ...

  2. java开发超级简单技巧

    JAVA EE Java Platform,Enterprise Edition---java平台企业版 java SE Java Platform,Standard Edition---java平台 ...

  3. mac提示软件提示已损坏,需要移到废纸篓的解决方法

    方式1 允许任何来源的应用.在系统偏好设置里,打开"安全性和隐私",将"允许从以下位置下载的应用程序"设置为"任何来源". 并打开终端,执行 ...

  4. GraphQL的N+1问题如何被DataLoader巧妙化解?

    扫描二维码 关注或者微信搜一搜:编程智域 前端至全栈交流与成长 发现1000+提升效率与开发的AI工具和实用程序:https://tools.cmdragon.cn/ N+1问题本质解析 当使用Gra ...

  5. SciTech-EECS-BigDataAIML-NN(神经网络): 常用的18种Activation(激活函数)

    SciTech-EECS-BigDataAIML-NN(神经网络): 常用的18种Activation(激活函数) 简介 为什么要用激活函数 激活函数的分类 常见的几种激活函数 4.0.Softmax ...

  6. lim x→c⁡ f⁢(x) = L数学语言:∀ ϵ>0, ∃ δ>0 S.T. for all x≠c, if |x-c|<δ, then |f⁢(x)-L|<ϵ 常用记号: “∃ ”:“存在”或“可以找到”,“∀ ”: “对于任意的”或“对于每一个”, maxS:数集S极大值, minS:数集S极小值, supS:上确界(上界最小值), infS下确界(下界最大值)

    实数集Completeness Axiom(连续性公理) Q: 谬论: "实数集上, 怎么求出点A"相邻"的那一点, 或A点的"下一点"? 或 &qu ...

  7. SciTech-Psychology-Management-Behavioral Approach: Hawthorne effect霍桑效应: 主试者不断调整可改变受试对象的心理与行为+受试者因感知被观察而改变行为

    长期行为上: 立场.思想信仰.文化理念.利益分配.投入产出比.自主自由度等,多维度决定. 短期行为上: 霍桑效应是一方面,被关注等社会性需要的满足, 对比物质待遇 也/更 能激励员工的积极性和创造性 ...

  8. freeswitch笔记(4)-esl inbound模式的重连及内存泄露问题

    esl inbound client,内部有一个canSend()方法: public boolean canSend() { return channel != null && ch ...

  9. U盘无法使用的修复方法-九五小庞

    步骤一,下载USBoot USBoot 是一款可以将手中的U盘制作成启动盘的工具,程序自带了MSDOS7.1的两个基本启动文件IO.SYS和COMMAND,如果要制作复杂的启动盘,可以把其他文件拷贝到 ...

  10. 01Java基础语法之注释、标识符、关键字、数据类型及拓展

    注释.标识符.关键字 注释 注释并不会被执行,是给写代码的人看的 书写注释是一个非常好的习惯 书写代码一定要规范 Java中的注释有三种: 单行注释,// // 这是一个单行注释 多行注释,/* XX ...