Я пытаюсь добавить некоторые объекты UIView в качестве подзадач в UIScrollView и дать им случайный цвет. Но эти фоновые цвета UIView - белые. Почему я не могу установить свой backgroundColor?Не удается установить backgroundColor UIView, который является подзадачей UIScrollView в Swift
Я запускаю этот проект на 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».
Какова позиция и размер поля зрения вы инициализации в то время как «пусть ColorView = UIView.init()» ? Я думаю, что это может быть проблема. Ваше представление не добавляется в прокрутку. –
Не то, чтобы что-то не так с 'CGFloat (arc4random()% 256)/255.0', но вместо этого вы можете просто проверить с помощью .redColor()'? ... И вы уверены, что ограничения правильные? Я бы предположил, что это одна из двух вещей, а не возможность установить цвет bg ... Я не вижу ограничения по высоте. – Magoo
@Nitesh Kumar Singh Спасибо. Я использую SnapKit для установки ограничений 'colorView'. Я очень уверен, что он добавлен в 'scrollView'. – songlebao