ios - iOS 中视图的人类可读标签/ID
问题描述
假设我使用界面构建器创建了一个带有一些视图的 UI(不是在代码中,所以不是以编程方式)。
如何为这些视图分配人类可读的 ID/标签,以便我可以在代码中引用它们?
我知道我可以使用属性检查器将整数标签分配给视图,然后制作一个字典(或枚举)来存储标签到视图的映射。然而,这是一种容易出错的方法,它的扩展性也非常糟糕(想象将整数标签分配给复杂应用程序中的数百个视图......)。
这个问题有更好的解决方案吗?有没有办法直接将人类可读的标签/ID分配给视图,比如“resumeButton”?
更新:这是我想要实现的示例场景:
- 带有五个不同按钮的用户界面;按钮有图像,没有标题
- 所有五个按钮在代码中都连接到同一个 IBAction
- 在 IBAction 我有一个 switch 语句,以便根据单击的按钮执行不同版本的代码
更新 2:
解决方案
我最终实现了一个简单的自定义视图:
@IBDesignable
class CustomButton: UIButton {
@IBInspectable var stringTag: String = defaultID
}
这样我可以在 Interface Builder 中看到一个附加属性stringTag
,并且可以直接在 Interface Builder 中简单地为其添加一个值。
解决方案
从您所描述的情况来看,您正在寻找一个:奥特莱斯