Swift-Put不同类型的UI元素在数组中

时间:2017-05-10 20:19:30

标签: ios swift

我正在尝试创建一个UI元素数组,但内部有不同的类型。一些是图像视图,一些是按钮。我熟悉制作相同类型的集合,例如

@IBOutlet var things: [UIButton]!

但该代码只生成一个按钮数组,而我还需要添加图像视图。如何创建一个接受这两种类型的数组?

2 个答案:

答案 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