OStack程序员社区-中国程序员成长平台

标题: ios - 一次引用 2 个不同 IBOutlets 的最有效方法(其中每个仅存在于它自己的大小类)? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 10:54
标题: ios - 一次引用 2 个不同 IBOutlets 的最有效方法(其中每个仅存在于它自己的大小类)?

我目前正在使用统一的 Storyboard(带有尺寸等级)。对于我的观点之一,wAny hAny 和 wRegular hRegular 尺寸类之间的设计差异非常显着,以至于基于尺寸类改变 subview 的约束是不够的。

一个简化的示例:我在 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(每个都属于不同的大小类)。



Best Answer-推荐答案


您不能将 IBOutlet 属性与多个对象连接。

但是您可以在这些标签上使用相同的标签并像这样访问它们:

(UILabel *)[self.view viewWithTagABEL_TAG];

关于ios - 一次引用 2 个不同 IBOutlets 的最有效方法(其中每个仅存在于它自己的大小类)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744985/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4