我正在尝试创建一个UI元素数组,但内部有不同的类型。一些是图像视图,一些是按钮。我熟悉制作相同类型的集合,例如
@IBOutlet var things: [UIButton]!
但该代码只生成一个按钮数组,而我还需要添加图像视图。如何创建一个接受这两种类型的数组?
答案 0 :(得分:3)
只需使用UIViews数组。 {{1}}
答案 1 :(得分:2)
@IBOutlet weak var view2: UIView!
var uiElements:[UIView] = []
override func viewDidLoad() {
super.viewDidLoad()
let button1 = UIButton()
let image1 = UIImageView()
uiElements.append(button1)
uiElements.append(image1)
uiElements.append(view2)
for element in uiElements {
if element is UIButton {
print("it's a button")
} else if element is UIImageView {
print("it's imageview")
} else if element is UIView {
print("it's uiview")
} else {
print("error")
}
}
}
Output:
it's a button
it's imageview
it's uiview