【发布时间】:2016-02-12 20:39:34
【问题描述】:
我想要一个带有图标的 UILabel。
所以我创建了一个实用程序,它将创建标签、图标并处理它们之间的间距限制等。
现在当我在我的客户端代码中使用这个组件时,我再次需要在故事板中创建一个 UILabel。
@IBOutlet weak var stateLabel: iconLabel!
...
stateLabel.style = withIcon
和
实用程序有原型代码:
struct style {
static let withIcon = style(
iconName = x.png,
textColor: white
}
class iconLabel {
createLabel() {
label = UILabel()
addSubview(label)
//deal with constraints
}
createIcon() {
icon = UIImageView
addSubview(icon)
//deal with constraints
}
}
所以问题是: 1)我的客户+我的实用程序中必须有标签。如何避免这种情况。 2)如果我从我的客户端文件中删除标签,那么该标签与情节提要中的其他标签有限制,我不明白如果我删除它,我该如何使用我的实用程序。 3)如果我不在实用程序中重新创建标签,那么如何在标签和图标之间设置约束。 4)如果我不创建实用程序,那么每个客户端都必须具有用于图标的 UIImageView 和用于图标和标签之间约束的代码。所以我想创建一个实用程序。
有什么提示吗?
谢谢。
【问题讨论】:
-
您是否尝试过使用 .xib 文件创建自定义 uiview?
-
我不完全理解你的问题? “效用”是什么意思?您是在谈论需要在两个不同的应用程序中拥有相同的源文件吗?您可以为您的标签创建一个框架,并将该框架包含在两个应用程序中
-
@donmarkusi,你的意思是 .xib 文件会有我的图标和标签吗?你能提供更多细节吗?
-
@Paulw11 实用程序表示可重用组件。我只有 1 个应用程序。
-
好的,要么直接在你的应用程序中包含这个组件代码,或者如果你认为你希望将来能够在其他应用程序中使用它,将它打包为框架或 Cocoapod