OGeek|极客世界-中国程序员成长平台

标题: ios - 无法设置 UIView 的 backgroundColor,它是 Swift 中 UIScrollView 的 subview [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:59
标题: ios - 无法设置 UIView 的 backgroundColor,它是 Swift 中 UIScrollView 的 subview

我尝试将一些 UIView 对象作为 subview 添加到 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
}

我认为问题在于 scrollViewbackgroundColor 会覆盖在 `colorView' 上。



Best Answer-推荐答案


您是否可能需要添加 make.height.equalTo(scrollView) ...我没有看到高度限制...

关于ios - 无法设置 UIView 的 backgroundColor,它是 Swift 中 UIScrollView 的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40375823/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4