我目前正在使用统一的故事板(带有大小类)。对于我的观点之一,wAny hAny 和 wRegular hRegular 尺寸类之间的设计差异非常显着,以至于基于尺寸类改变子视图的约束是不够的。
一个简化的示例:我在 wAny hAny 大小类中有一个 UILabel,名为“First_Name_Label”。虽然我希望将这个 UILabel 用于 wRegular hRegular 尺寸类,但设计差异太大,所以我为 wRegular hRegular 尺寸类添加了一个 UILabel 以复制“First_Name_Label”的用途,我称之为“First_Name_Label 2”。“First_Name_Label”仅安装在 wAny hAny 尺寸类中,“First_Name_Label 2”仅安装在 wRegular hRegular 尺寸类中。
在我的代码中,我想为标签设置文本:
self.First_Name_Label.text = "my first name"
但我也需要为其他尺寸类做这件事,我的代码如下:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomIpad) {
self.First_Name_Label2.text = "my first name"
} else {
self.First_Name_Label.text = "my first name"
}
这看起来很麻烦,基本上是我当前代码的两倍。我确信有一种更优雅和更有效的方式来一次引用这 2 个 IBOutlets(每个都属于不同的大小类)。