Невозможно установить backgroundColor для UIView, который является подпредставлением UIScrollView в Swift

Я пытаюсь добавить некоторые объекты UIView в качестве подпредставлений в UIScrollView и дать им случайный цвет. Но backgroundColor этих объектов 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
}

Я думаю, что проблема в том, что backgroundColor из scrollView покроет на `colorView'.

1 ответ

Решение

Вам потенциально нужно добавить make.height.equalTo(scrollView)... я не вижу ограничения по высоте...

Другие вопросы по тегам