UIViewオブジェクトをサブビューとしてUIScrollViewに追加しようとしました。しかし、これらのUIViewオブジェクトのbackgroundColorは白です。なぜ私はbackgroundColorを設定できないのですか?SwiftのUIScrollViewのサブビューであるUIViewのbackgroundColorを設定できません
私はこのプロジェクトをiOS 10.1、Swift 3.0.1、およびSnapKit 3.0.2で実行します。ここでは、コードviewDidLoad
である:
let scrollView = UIScrollView.init()
scrollView.isPagingEnabled = true
self.view.addSubview(scrollView)
scrollView.snp.makeConstraints { (make) in
make.left.right.top.bottom.equalTo(self.view)
}
var lastView: UIView? = nil
for i in 0 ..< 5 {
let colorView = UIView.init()
let red = CGFloat(arc4random() % 256)/255.0
let blue = CGFloat(arc4random() % 256)/255.0
let green = CGFloat(arc4random() % 256)/255.0
colorView.backgroundColor = UIColor.init(red: red, green: green, blue: blue, alpha: 1.0)
scrollView.addSubview(colorView)
colorView.snp.makeConstraints({ (make) in
make.top.bottom.equalTo(scrollView)
make.width.equalTo(scrollView)
if i == 0 {
make.left.equalTo(scrollView)
}
else {
make.left.equalTo((lastView?.snp.right)!)
}
if i == 4 {
make.right.equalTo(scrollView)
}
})
lastView = colorView
}
私は問題はscrollView
のbackgroundColor
は `colorView」でカバーするということだと思います。 「聞かせてcolorView = UIView.init()」しながら、あなたが初期化されているビューの位置とサイズは何
? 問題だと思います。あなたのビューはスクロールビューに追加されていません –
'CGFloat(arc4random()%256)/ 255.0'には何も問題はありませんが、' .redColor() 'でテストできますか? ...そして、あなたは制約が正しいと確信していますか?私はそれがbgの色を設定することができないのではなく、その2つのことの一つだと思います...私は高さの制約を見ることができません。 – Magoo
@Nitesh Kumar Singhありがとう。私はSnapKitを使って 'colorView'の制約を設定します。私はそれが 'scrollView'に追加されていると確信しています。 – songlebao