के बाद अद्यतन मैं स्वत: पंक्ति ऊंचाइयों और एक कस्टम UITableViewCell
के साथ एक UITableView
है। UITableViewCell
के अंदर, मैं पहले प्रोग्रामेटिक ऑटोलायआउट बाधाओं के साथ कुछ UIButton
एस जोड़ता हूं। वे पूरी तरह से तैनात हैं जैसा मैं चाहता हूं। फिर, 3 सेकंड (NSTimer
) के बाद, मैं उन सभी UIButton
एस को हटा देता हूं और फिर से उनमें से एक अलग संख्या फिर से जोड़ता हूं। (उदाहरण के लिए शुरू में मैं 4 UIButtons
, 3 सेकंड के बाद, मैं उन 4 UIButton
रों हटाने और 3 अलग अलग लोगों को जोड़ने हैUITableViewCell अंदर प्रोग्रामेटिक autolayout परिवर्तन केवल उन्मुखीकरण परिवर्तन
प्रारंभ में:।
पोस्ट बारी बारी से:
हो रहा क्यों है? मुझे कोई ऑटोलाउट चेतावनी नहीं दिखाई दे रही है। इसके अलावा, एक अभिविन्यास परिवर्तन के बाद, सब कुछ सही ढंग से स्थित है। क्या एक अभिविन्यास परिवर्तन की आवश्यकता है? मैं इस मैन्युअल रूप से बाध्य कर सकते हैं
पी एस (tableview बस के लिए यह करने के लिए बहुत ज्यादा लगता है, पुन: लोड): मैं setNeedsUpdateConstraints
, layoutIfNeeded
, layoutSubviews
उपयोग करने की कोशिश, लेकिन कोई लाभ नहीं हुआ।
यहाँ UITableViewCell
कोड है: http://pastebin.com/TcHUXgDU। (एक pastebin जोड़ी इस स्थान को दूषित नहीं करने के लिए) लेकिन मूल रूप से, वहाँ एक configure:
विधि मैं अपने tableview उपवर्ग जो मैं अपने युक्त UITableView
की cellForRowAtIndexPath
में फोन के अंदर है कि है। यह विधि उन बाधाओं को जोड़ती है। इसके अलावा, टाइमर आग के बाद, एक ही कोड को (दूसरे फ़ंक्शन में) कहा जाता है, सिवाय इसके कि मेरे द्वारा जोड़े गए आइटमों की संख्या प्रारंभिक संख्या से अलग होती है।
यह मेरा UITableViewCell
लेआउट है: (केवल ऊपर, नीचे, प्रमुख, अनुगामी बाधाओं UIView "Outerview" में जोड़ा गया है)
की ऊंचाई आप कुछ कोड पोस्ट कर सकते हैं? और अभिविन्यास से पहले मैं देख सकता हूं कि सेल की ऊंचाई अलग-अलग है, जो बटन को पैडिंग पर निचोड़ कर रही है, जबकि अभिविन्यास परिवर्तन सेल की ऊंचाई को बदलकर ठीक करता है। –
मैंने कुछ कोड पोस्ट किया है। इसके अलावा, अभिविन्यास से पहले, सेल ऊंचाई सभी 3 कोशिकाओं के लिए स्थिर है। (विपरीत बदलती आप की तरह कहते हैं) –
आपके प्रश्न का उत्तर नहीं है, लेकिन आप एक बहुत अच्छे समय को प्रोग्राम के autolayout को लागू करता है, तो आप की तरह [चिनाई] एक पुस्तकालय का उपयोग करना होगा (https://github.com/SnapKit/Masonry) – sjwarner