我的问题是,根据一个人的分组数量,我想动态创建那么多UIImageView并将其分配给视图。我知道如何创建一个UIImageView并将其放到视图上,但是由于创建另一个具有相同名称的似乎只是覆盖了原始名称,因此如何创建数量可变的UIImageView?我尝试将ojit_code发送到数组中,但出现可选错误。

            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

最佳答案

问题是您一直在重复使用相同的circleView实例。当您将其添加到数组时,您只是在添加对其的引用。然后,您可以重新初始化它,从而消除它。我也看不到您要在哪里增加i。尝试这样的事情:

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

关于ios - 如何快速创建可变数量的UIImageViews,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27727705/

10-12 04:44