Swift 中无法设置作为 UIScrollView 子视图的 UIView 的背景颜色
Cannot set backgroundColor of UIView which is a subview of UIScrollView in Swift
我尝试将一些 UIView 对象作为子视图添加到 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' 上。
您可能需要添加 make.height.equalTo(scrollView)
...我没有看到高度限制...
我尝试将一些 UIView 对象作为子视图添加到 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' 上。
您可能需要添加 make.height.equalTo(scrollView)
...我没有看到高度限制...