मेरे पास एक UIView है जिसमें UIButton है। UIButton में UIControlStateNormal ("Follow") और UIControlStateSelected ("फ़ॉलो") राज्यों के लिए 2 शीर्षक सेट हैं। मैं UIButton पर ऑटो लेआउट का उपयोग कर रहा हूं और पर्यवेक्षण के बाईं ओर से एक निश्चित दूरी होने के लिए बाध्यता है और दूसरा पर्यवेक्षण के बाईं ओर से एक निश्चित दूरी है। मैंने "सामग्री फिट करने के लिए आकार" का भी उपयोग किया है।UIButton स्थिति बदलते समय आंतरिक आकार अपडेट नहीं हो रहा है
जब मैं बटन से चुने गए राज्य में बटन सेट करता हूं, तो शीर्षक सही ढंग से बदलता है लेकिन UIButton की आंतरिक चौड़ाई बदलती नहीं है ताकि जब "अनुसरण करें" से "अनुसरण करें" में बदलते समय पाठ को लंबित हो जाए।
self.selected = self.following;
जब मैं समस्या को अलग तरह के दृष्टिकोण और जब कोई बटन दबाता बस UIControlStateNormal के लिए पाठ बदलने के लिए, बटन परिवर्तन सही ढंग से आकार।
NSString *title = (self.following) ? @"Following" : @"Follow"
[self setTitle:title forState:UIControlStateNormal];
इस UIKit में एक बग है? मैं उम्मीद करता हूं कि बटन अपने आंतरिक आकार को बदलने के लिए टेक्स्ट के नए आकार को सही ढंग से प्रतिबिंबित करने की अपेक्षा करेगा जब विशेष रूप से राज्य बदलता है क्योंकि अन्य चीजें हैं जिन्हें मैं 2 बटन राज्यों के टेक्स्ट के अलावा बदलना चाहता हूं।
क्या किसी ने देर से यह कोशिश की है (आईओएस 8.2+)? मेरे लिए काम करने वाला एकमात्र सीधा समाधान @ अब्दुल्ला का सेटटाइट: फोर्स्टेट है। मैंने लेआउट के साथ उस पंक्ति का पालन करने का भी प्रयास किया है IFNeeded। –
किसी भी लेआउट सिस्टम के साथ पूर्ण और संगत होने के लिए मुझे इसे सेटनेड्स लेटआउट को कॉल करने के साथ पालन करना होगा और पर्यवेक्षण के प्रत्येक पर्यवेक्षण पर इसे तब तक कॉल करना होगा जब तक कि कोई और नहीं हो ... ऐसा लगता है कि परिवर्तन आकार के सब कुछ पर लागू होगा प्रभाव। (यदि सबव्यू इत्यादि में डाल दिया गया है) – Ben