2017-06-25 10 views
1

私はUIScrollViewにサブビューを追加しようとしています。私はscrollView、サブビューを追加し、制約を設定します。UIScrollViewでサブビューを追加できません

class ViewController: UIViewController { 

let scrollView : UIScrollView = { 
    let scrollView = UIScrollView() 
    scrollView.backgroundColor = .yellow 
    scrollView.translatesAutoresizingMaskIntoConstraints = false 
    scrollView.alwaysBounceVertical = true 
    return scrollView 
}() 

let catImageView : UIImageView = { 
    let img = UIImageView() 
    img.translatesAutoresizingMaskIntoConstraints = false 
    img.backgroundColor = .white 
    return img 
}() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    view.backgroundColor = .black 

    view.addSubview(scrollView) 
    scrollView.frame = self.view.bounds 
    scrollView.contentSize = CGSize(width: self.view.frame.width, height: 1000) 

    scrollView.addSubview(catImageView) 
    catImageView.centerXAnchor.constraint(equalTo: self.scrollView.centerXAnchor).isActive = true 
    catImageView.centerYAnchor.constraint(equalTo: self.scrollView.centerYAnchor).isActive = true 
    catImageView.widthAnchor.constraint(equalToConstant: 200).isActive = true 
    catImageView.heightAnchor.constraint(equalToConstant: 100).isActive = true 
} 

ビルドしてスクロールビューとサブビューが消えます。

 view.addSubview(catImageView) 
    catImageView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true 
    catImageView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true 
    catImageView.widthAnchor.constraint(equalToConstant: 200).isActive = true 
    catImageView.heightAnchor.constraint(equalToConstant: 100).isActive = true 

それはまだ同じだ:私は はその後、私はこのようにサブビュー別の方法を追加しようと...理由を知りません。なぜ私に説明してください。ありがとうございます

答えて

1

ビューに制約を追加する場合にのみ、translatesAutoresizingMaskIntoConstraintsfalseに設定してください。 scrollViewのプロパティをfalseに設定しましたが、制約ではなくframeを使用しました。次の行を削除します。

scrollView.translatesAutoresizingMaskIntoConstraints = false // <- remove 

これはうまくいくはずです。

希望すると便利です。がんばろう!

+0

ありがとうございます。それは作品です! –

関連する問題