次のコードの問題点は誰でも指摘できますか?Swift4。カスタムの表示がカスタムの初期化で表示されない
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つの異なる色のビューを表示しようとしています。何らかの理由で、オレンジ色の最後のものだけが表示されます。最初の2つは表示されません。コードはクラッシュしません。 カスタムロジックを必要なinitに移動する必要がありますか?
ありがとうございました。
をあなたは 'view'を初期化している行を見てみましょう。 'i * 00'は**常に** 0です。 – the4kman
私の側には恐ろしいタイプミスです。 – user2511882