2016-11-02 6 views
2

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 
} 

私は問題はscrollViewbackgroundColorは `colorView」でカバーするということだと思います。 「聞かせてcolorView = UIView.init()」しながら、あなたが初期化されているビューの位置とサイズは何

+0

? 問題だと思います。あなたのビューはスクロールビューに追加されていません –

+0

'CGFloat(arc4random()%256)/ 255.0'には何も問題はありませんが、' .redColor() 'でテストできますか? ...そして、あなたは制約が正しいと確信していますか?私はそれがbgの色を設定することができないのではなく、その2つのことの一つだと思います...私は高さの制約を見ることができません。 – Magoo

+0

@Nitesh Kumar Singhありがとう。私はSnapKitを使って 'colorView'の制約を設定します。私はそれが 'scrollView'に追加されていると確信しています。 – songlebao

答えて

0

あなたが潜在的にmake.height.equalTo(scrollView)を追加する必要がありますか...私は高さの制約が表示されない...

+0

あなたの答えをありがとう。しかし、私はこのコード行を 'make.top.bottom.equalTo(scrollView)'としました。これは自動的に高さをscrollViewに等しく設定します – songlebao

+0

あなたは正しいです。 'make.top.bottom.equalTo(scrollView)'を 'make.top.height.equalTo(scrollView)'に変更し、問題を解決しました。 SnapKitの[Robert Payne](https://github.com/robertjpayne)は、「スクロールビューの右と下の属性は、スクロール境界を機能させるためのものです」と指摘しています。 – songlebao

+0

問題はありませんが、そのような面白い制約があります。私は似たような図書館を持っており、このようなことがたくさん起こっています。 – Magoo

関連する問題