如何在 swift 中创建可变数量的 UIImageView
How to create a variable number of UIImageViews in swift
我的问题是,根据一个人拥有的组数,我想动态创建那么多 UIImageView
并将它们分配给视图。我知道如何创建一个 UIImageView
并将其放到视图中,但是我如何创建一个可变数量的它们,因为创建另一个具有相同名称的似乎只是覆盖原来的?我尝试将 UIImageView
发送到数组中,但出现可选错误。
circleView = UIImageView(frame:CGRectMake(125, y, 75, 75))
y+=150
circleView.image = UIImage(named:"circle.png")
circleView.tag = i
self.view.addSubview(circleView)
circleArray[i] = circleView
您需要使用circleArray.append(circleView)
问题是您一直重复使用同一个 circleView 实例。当您将它添加到数组时,您只是在添加对它的引用。然后你重新初始化它,它被擦掉了。我也看不到你在哪里递增我。尝试这样的事情:
var circleArray = Array<UIImageView>()
var y : CGFloat = 0.0
var i = 0
circleArray.append(UIImageView(frame:CGRectMake(125, y, 75, 75)))
var circleView = circleArray[i]
circleView.image = UIImage(named:"circle.png")
circleView.tag = i
self.view.addSubview(circleView)
y+=150
i += 1
我的问题是,根据一个人拥有的组数,我想动态创建那么多 UIImageView
并将它们分配给视图。我知道如何创建一个 UIImageView
并将其放到视图中,但是我如何创建一个可变数量的它们,因为创建另一个具有相同名称的似乎只是覆盖原来的?我尝试将 UIImageView
发送到数组中,但出现可选错误。
circleView = UIImageView(frame:CGRectMake(125, y, 75, 75))
y+=150
circleView.image = UIImage(named:"circle.png")
circleView.tag = i
self.view.addSubview(circleView)
circleArray[i] = circleView
您需要使用circleArray.append(circleView)
问题是您一直重复使用同一个 circleView 实例。当您将它添加到数组时,您只是在添加对它的引用。然后你重新初始化它,它被擦掉了。我也看不到你在哪里递增我。尝试这样的事情:
var circleArray = Array<UIImageView>()
var y : CGFloat = 0.0
var i = 0
circleArray.append(UIImageView(frame:CGRectMake(125, y, 75, 75)))
var circleView = circleArray[i]
circleView.image = UIImage(named:"circle.png")
circleView.tag = i
self.view.addSubview(circleView)
y+=150
i += 1