2011-12-22 5 views
5

मेरे पास एक UIButton है जो XIB में 147 पिक्सल चौड़ा और 30 ऊंचा है। इसमें 'नेविगेशन' का एक डिफ़ॉल्ट पाठ है। आवेदन के दौरान, मैंने शीर्षक 'ग्लोबल' पर सेट किया। बाद में, मैंने इसे टी 0 'सारांश' और यह प्रदर्शन 'सु ... आरई' के रूप में सेट किया।UIButton शीर्षक टेक्स्ट truncating

मैंने इतनी सारी चीज़ें पढ़ी हैं जो यूआई बटन के लिए डिफ़ॉल्ट लेबल सेट करने के लिए डिफ़ॉल्ट लेबल सेट करने के लिए कहती हैं, हालांकि 'सारांश' 'नेविगेशन' से छोटा है। पाठ क्षेत्र आवेदन के दौरान घटना प्रतीत होता है।

मैं दृश्य को फिर से लोड नहीं करता हूं। मेरा आवेदन मुख्य रूप से डिफॉल्ट डिस्प्ले स्क्रॉलव्यू से तत्वों को साफ़ करता है और नए डेटा के साथ रीफिल करता है।

मैं

button.titlelabel.text = @"Summary"; 

लेकिन मैं हो रही थी अवसरों का उपयोग किया गया है, जब इस पाठ दिखाने में परिणाम नहीं था, इसलिए

[button setTitle:@'Summary' forState:UIControlStateNormal]; 

कौन सा हर बार काम किया का उपयोग कर शुरू।

क्या यूआईबटन के भीतर टेक्स्ट क्षेत्र को प्रदर्शित करने के लिए पाठ क्षेत्र को रीसेट करने का कोई तरीका है? मैं फ्लाई पर बटन नहीं बनाऊंगा, और यदि यह उद्देश्य-सी का एक कार्य है, तो मैं इसे एक गलती मानता हूं।

अग्रिम धन्यवाद। क्रिस एच

उत्तर

8

यह उद्देश्य-सी की गलती नहीं है। उद्देश्य-सी एक प्रोग्रामिंग भाषा है। अगर कुछ भी गलती है तो यह यूआईकिट है जो आईओएस के लिए ऐप्पल के यूआई ढांचे है।

समस्या यह है कि आपका बटन आकार बदल नहीं जाएगा - ऐसा नहीं है कि UIButton के लिए API को डिज़ाइन किया गया है। शीर्षक को सेट करने के बाद आप बटन को आकार देकर इसे हल कर सकते हैं। आप निर्धारित कर सकते कितना बड़ा पाठ के साथ हो गया है: तो फिर आपको लगता है कि उपयोग कर सकते हैं यह चौड़ाई और ऊंचाई में थोड़ा बड़ा कर और उस के लिए button की frame स्थापित करने के लिए

CGSize requiredSize = [[button titleForState:UIControlStateNormal] sizeWithFont:button.titleLabel.font]; 

+0

धन्यवाद, क्षमा करें, एक अपेक्षाकृत नए व्यक्ति के रूप में, मैं विभिन्न घटकों के बीच अंतर नहीं कर सकता। स्पष्टीकरण और समाधान के लिए धन्यवाद। –