に制約をプログラムでスクロールビュー内のUIViewを追加しようとする時に失敗します。私はちょうどシミュレータのUIViewが表示されません。 私はUIScrollviewにIBOutletを持っています...だから私はなぜこの問題に取り組んでいるのか分かりません。だから私は制約をプログラム的にUIScrollViewのにUIViewのを追加しようとしてきたSWIFT
override func viewDidAppear(animated: Bool) {
let ownerUIView:UIView! = UIView()
var innerLabel:UILabel = UILabel()
ownerUIView.translatesAutoresizingMaskIntoConstraints = false
innerLabel.translatesAutoresizingMaskIntoConstraints = false
innerLabel.text = "Test text"
ownerUIView.addSubview(innerLabel)
importantScroll.addSubview(ownerUIView)
ownerUIView.backgroundColor = UIColor.blueColor()
let constraint1 = NSLayoutConstraint(item: ownerUIView, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: importantScroll, attribute: NSLayoutAttribute.Leading, multiplier: 1, constant: 10)
let constraint2 = NSLayoutConstraint(item: ownerUIView, attribute: NSLayoutAttribute.Trailing, relatedBy: NSLayoutRelation.Equal, toItem: importantScroll, attribute: NSLayoutAttribute.Trailing, multiplier: 1, constant: 10)
let constraint3 = NSLayoutConstraint(item: ownerUIView, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 60)
let constraint4 = NSLayoutConstraint(item: ownerUIView, attribute: .Top , relatedBy: .Equal, toItem: importantScroll, attribute: NSLayoutAttribute.Top , multiplier: 1, constant: 20)
NSLayoutConstraint.activateConstraints([constraint1,constraint2,constraint3,constraint4])
}
私は制約を削除しても、UILabelまたはUIVIewは表示されません。 UILableを削除すると、青いUIViewが表示されます。
let ownerUIView:UIView = UIView(frame: CGRect(x: 10, y: 10, width: 200, height: 200))
let innerLabel:UILabel = UILabel(frame: CGRect(x: 10, y: 10, width: 100, height: 100))
ownerUIView.translatesAutoresizingMaskIntoConstraints = false
innerLabel.translatesAutoresizingMaskIntoConstraints = false
innerLabel.text = "Test text"
ownerUIView.addSubview(innerLabel)
importantScroll.addSubview(ownerUIView)
ownerUIView.backgroundColor = UIColor.blueColor()
こんにちは、ありがとうございました...そこに10マージンにUIViewの右側を取得する方法はありますか? – BostonMacOSX
プログラムで制約を設定する理由はありますか?ストーリーボードに自動レイアウトを適用すると、非常に簡単になります。この[リンク](https://spin.atomicobject.com/2014/03/05/uiscrollview-autolayout-ios/)を参照することができます。 – woogii
@BostonMacOSX私の答えを更新しました。 – woogii