arrays - 在视图控制器屏幕上放置一个空的图像视图数组
问题描述
我在 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)
}
}
解决方案
插入 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)
}
}
推荐阅读
- excel - VBA 循环替换多个 if 语句
- c++ - 模板类和 << 运算符重载
- elixir - 添加可选参数 elixir 导致函数 def 冲突
- wso2 - WSO2 EI 6.5.0 数据服务返回 2 个游标作为输出参数 (Oracle)
- kofax - 使用 kofax 处理不同的文档布局
- python - 一种更 Pythonic 的方法,将一列拆分为多列并将其中两列相加
- php - 如果用户未登录并且用户想要访问特定页面,则重定向到登录页面
- java - 我开始学习基于 Java 的配置。邮递员看不到我的查询并返回错误 404
- plc - 安装 TIA 门户时遇到问题:缺少 sqlcmd.exe
- javascript - 如何更改输入名称背景?