iOS10之后,只要应用加入了相应代码就可以让应用的字体大小和系统同步,诸如此类的说明在网上横行,各种介绍,但却很少有给出实例的,有人问我怎么设,说没反应,我试了下并没发现什么,看了对方的代码,原来是少了一句话:
网上的很多说法是adjustsFontForContentSizeCategory属性加上,preferredFontForTextStyle的作用倒是容易被放大的adjustsFontForContentSizeCategory所忽略,两者缺一不可,实际上adjustsFontForContentSizeCategory的功能只是是否开启适应系统字体,是一个布尔变量,真正起作用的是preferredFontForTextStyle。
下面给出一个实例供大家参考,但是前提是你必须用Xcode8和iOS10,模拟器不支持:
UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.frame = CGRectMake(16, 100, 320-40, 100);
titleLabel.font =[UIFont preferredFontForTextStyle:UIFontTextStyleBody];
titleLabel.adjustsFontForContentSizeCategory = YES;
titleLabel.text = @"UIFont 的preferredFontForTextStyle: 意思是指定一个样式,并让字体大小符合用户设定的字体大小。";
titleLabel.numberOfLines = 0;
titleLabel.backgroundColor = [UIColor clearColor];
[self.view addSubview:titleLabel];