Mun*_*eik 31 xcode ios autolayout
我想把我的文字放在一个UILabel
,但对于不同的iPhone,其大小UILabel
正在改变,因为我正在使用自动布局,但我无法修复字体大小,所以我的文字正在删除.
有什么方法可以设置任何约束,以便文本适应UILabel
动态?
Cra*_*ems 62
你应该使用自动收缩.
由于所有iPhone Compact width
在纵向模式下都具有相同的尺寸等级,因此您不能依赖它来处理标签尺寸.
预览适用于iPhone5,iPhone6和iPhone 6+
在检查器中,您必须在自动收缩前选择最小字体比例或最小字体大小.这使内容能够更改字体的大小以适合标签.
在这里,我将最小字体比例设置为0.5,因此最小尺寸是当前尺寸的一半(31.0).文本将尝试适合,直到达到最小比例/大小.
(一般不要用"拧紧字母间距"为了这个目的.拧紧字母间距使用相同的字体大小,并减少字母之间的间距.它可以使标签了更严格的5%截断之前,但它不是有效的,当最小字体放大/大小已启用.)
您可能希望使用iPad Pro等宽屏设备进行测试,也可以使用较小的屏幕(如iPhone 4S)进行测试.
自动收缩不会调整字体大小比标签上的一组更大,这意味着如果你把标签宽度相同的屏幕,但离开字体大小为14,它会尝试增加字体大小,直到它达到大小.
要使其实际工作,请选择较大的字体大小.
您仍然可以将自动收缩与大小类组合,以根据设备/方向更改最大字体大小.
如果您想使用自动收缩功能Settings
,您仍然可以使用两行代码设置此行为.
myButton.titleLabel.minimumScaleFactor = 0.5;
myButton.titleLabel.adjustsFontSizeToFitWidth = YES;
Run Code Online (Sandbox Code Playgroud)