gpt4 book ai didi

swift 4。自定义 View 未在自定义初始化中显示

转载 作者:行者123 更新时间:2023-11-30 12:07:39 26 4
gpt4 key购买 nike

谁能指出以下代码有什么问题吗?

 class CustomView: UIView {
init(_ i:Int, _ view:UIView){

super.init(frame: CGRect.init(x: 0, y: i*300, width:Int(view.frame.size.width) , height: 300))
for i in stride(from: 0, to: 3, by: 1){
var view = UIView.init(frame: CGRect.init(x: (Int(self.frame.size.width/2-50)), y: i*00, width: 100, height: 100))

switch(i%3){
case 0:
view.backgroundColor = UIColor.red
break;
case 1:
view.backgroundColor = UIColor.green
break;
case 2:
view.backgroundColor = UIColor.orange
break;
default:
break;

}

self.addSubview(view)


}

}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
print("not required to implement requiredInit here")


}

我试图根据模运算符显示 3 种不同颜色的 View 。但由于某种原因,仅显示最后一个橙色的。前两个没有出现。代码也不会崩溃。我是否需要将自定义逻辑移至所需的 init 中。

谢谢。

最佳答案

请检查如下:

init(_ i:Int, _ view:UIView){
super.init(frame: CGRect.init(x: 0, y: i*300, width:Int(view.frame.size.width) , height: 300))
for i in stride(from: 0, to: 3, by: 1){
var subview = UIView.init(frame: CGRect.init(x: (Int(self.frame.size.width/2-50)), y: i*100, width: 100, height: 100))

switch(i%3){
case 0:
subview.backgroundColor = UIColor.red
break;
case 1:
subview.backgroundColor = UIColor.green
break;
case 2:
subview.backgroundColor = UIColor.orange
break;
default:
break;
}
view.addSubview(subview)
}
}

关于 swift 4。自定义 View 未在自定义初始化中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46493797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com