首页 > 解决方案 > 在视图控制器屏幕上放置一个空的图像视图数组

问题描述

我在 swift 中的代码开始在 var myArray 中声明一个空的图像视图数组。在视图 didload 中,我尝试在数组的开头插入第一个 imageview。我的代码不起作用,在 myArray.insert(UIImageView, at: 0).

然后 myArray[0].frame = CGRect(x: view.center.x-0, y: view.center.y+100, width: 50, height: 50)在它状态超出索引范围的地方出现运行时错误。

import UIKit

class ViewController: UIViewController {
    var myArray = [UIImageView]()

override func viewDidLoad() {
    super.viewDidLoad()

    myArray.insert(UIImageView, at: 0)
    [myArray[0]].forEach({
        $0.backgroundColor = UIColor.systemTeal
          self.view.addSubview($0)
      })
    myArray[0].frame = CGRect(x: view.center.x-0, y: view.center.y+100, width: 50, height: 50)

  }
}

标签: arraysswiftindexinginsertimageview

解决方案


插入 UIImageView() 而不是 UIImageView。

试试下面的代码:

import UIKit

class ViewController: UIViewController {
    var myArray = [UIImageView]()

    override func viewDidLoad() {
        super.viewDidLoad()

        myArray.insert(UIImageView(), at: 0)
        myArray.forEach({
            $0.backgroundColor = UIColor.systemTeal
            self.view.addSubview($0)
        })
        myArray[0].frame = CGRect(x: view.center.x - 0, y: view.center.y + 100, width: 50, height: 50)
    }
}

推荐阅读