这只是关于如何在项目中快速使用“可变特征”以为iPad和iPhone添加不同布局的扩展。
请阅读此内容以进一步了解Size类。
https://developer.apple.com/reference/uikit/uitraitcollection
如果您跳过下面的示例,请最后阅读摘要。
在iPhone和iPad中,您需要具有不同宽度的按钮。前者的宽度为80,后者的宽度为300。
已安装的具有多种约束的特征会有所不同。
脚步 :
- 首先添加常见约束,例如将按钮水平和垂直居中。
- 根据尺寸等级指南选择VaryForTraits并为iPhone屏幕选择C * R尺寸等级适合该型号,我们在PopUp中检查Width和Height的勾号。通过单击屏幕上的任意位置来关闭弹出窗口。
- 添加宽度常量,并检查是否为C * R size-class添加了约束。添加约束后,选择“完成变体”按钮。
- 对于iPad屏幕,再次选择任何iPad设备,然后选择VaryForTraits,这一次单击height-width,它将显示R * R变化。
- 再次添加宽度约束,如屏幕截图所示,最后添加的iPhone宽度约束必须未突出显示。这次添加的值将用于大小级别R * R。
- 切换回iPhone布局,宽度为80,iPad为300。
结论:
请注意,总共添加了两个约束,并且在这两个约束中,值根据所选的大小级别而有所不同。
因特质而异,具有单一约束,已安装多个尺寸等级
- 脚步 :
- 添加普通宽度约束。然后选择该约束并选择“常量”值旁边的+按钮。
- 添加特征变化,对于iPhone,我们选择C * R并将常量值设置为100。
- 同样,对于iPad,其特征变化为R * R,我们再次单击+按钮添加另一个变化并将值设置为300。
- 选择一个iPad,宽度将自动为300,回到iPhone时,宽度为100。
结论:
当仅需要一个约束且常数值不同时,这似乎是一个更好的选择,而不是添加两个约束。
使用时,使用方法:
两种方法基本上都在做相同的事情,将值设置为Size-classs。
但是,#Method1当您要添加专门用于设备的约束或说尺寸等级时可以使用。例如,在iPhone中,按钮应位于前50点之内;在iPad中,按钮应位于水平和垂直中心。在这种情况下,您需要使用VaryForTraits,因为它会打开门来为特定的大小类添加约束。
如果要为同一约束类型使用不同的常量值,则使用#Method2。
PS:对于所有无法获得示例工作的人
请确保,您仅添加了“已安装”所需的约束。针对“已安装”的复选框仅应针对尺寸类所需的约束出现。那是关键!
只需在视图中添加顶部约束和到uiButton的引线即可。选择顶部约束,然后取消选中带有加号的基本“已安装”选项。现在,通过单击加号,将变体添加到C R并选中该选项。现在,以各种方向组合将设备从iPhone更改为iPad。此约束仅适用于纵向尺寸为iPhone的C R尺寸类。如果选中了与基本已安装(带有加号的复选框)相对应的复选框,则意味着约束应应用于所有尺寸等级。
摘要:
特性变化是基于设备配置的用户界面显示方式的更改。 用户界面的特质变化不仅限于约束条件,还可以应用更多。例如在设备设置为深色样式时更改背景和其他元素的颜色。变体可以应用于用户界面的元素(例如删除约束),也可以应用于视图类或约束的属性,例如标签的字体。您可以改变:
视图的大小或位置
安装视图
安装约束
约束常数
字形
字体,色调或背景的颜色
布局边距
图像文件
您可以更改的一组特定属性取决于元素的类。在此示例中,我们演示了-安装约束和约束常量的用法。其他的则非常简单,并且可以轻松推断出来。