मैं ऑटोलायआउट एक्सकोड प्लेग्राउंड में बाधाओं के साथ कॉन्फ़िगर किए गए दृश्य प्रदर्शित करने का प्रयास कर रहा हूं, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है। यह खेल के मैदान की तरह बाधाओं को पूरी तरह से अनदेखा करता है, और मुझे कहीं भी इस मुद्दे के बारे में जानकारी नहीं मिल रही है।मैं एक्सकोड खेल के मैदान में ऑटोलायआउट बाधाओं का उपयोग करके विचार कैसे प्रदर्शित कर सकता हूं?
let view = UIView()
view.frame = CGRectMake(0, 0, 400, 200)
view.backgroundColor = UIColor.lightGrayColor()
let label = UILabel() // I can only see the label if I set a frame
// UILabel(frame: CGRectMake(0, 0, 200, 50))
label.backgroundColor = UIColor.greenColor()
label.text = "I am a label"
label.setTranslatesAutoresizingMaskIntoConstraints(false)
view.addSubview(label)
let views = ["label":label]
let options = NSLayoutFormatOptions(0)
let cs1 = NSLayoutConstraint.constraintsWithVisualFormat(
"H:|-[label]-|", options: options, metrics: nil, views:views)
let cs2 = NSLayoutConstraint.constraintsWithVisualFormat(
"V:|-[label]-|", options: options, metrics: nil, views:views)
view.addConstraints(cs1)
view.addConstraints(cs2)
अग्रिम
xcplayground आयात करें और फिर XCPShowView –
का उपयोग करें आपको लेआउट के लिए कॉल की आवश्यकता हो सकती है IfNeeded –
धन्यवाद डैनियल! हाँ, ऐसा लगता है कि मुझे दोनों चीजों की ज़रूरत है। यदि आप चाहते हैं तो आप एक उत्तर लिख सकते हैं ताकि मैं इसे चिह्नित कर सकूं। –