आईओएस 5.UILabel और numberOfLines और sizeToFit:
पर मैं एक UILabel तत्व यह है कि मूल रूप से एक निब में रखा गया है है। मैं चाहता हूं कि एक्स प्लेसमेंट तय रहें। मैं इसे 1 लाइन, या 2 लाइनों लेना चाहता हूं। यदि दो से अधिक लाइनें हैं, तो इसे एलिप्सिस दिखाने के लिए लाइन ब्रेक सेटिंग का उपयोग करना चाहिए।
मैं numberOfLines
संपत्ति और का उपयोग -sizeToFit
अगर मैं 0 करने के लिए UILabel के numberOfLines
गुण सेट, इसे सही ढंग से कुछ पाठ के लिए देखेंगे कि, वहाँ पर्याप्त जगह नहीं है और -sizeToFit
बुला के बाद एक दूसरी लाइन को लपेट जाएगा, लेकिन दुर्लभ मामले में कि रेखा 3 लाइनों तक फैलाने के लिए काफी लंबी है, मुझे तीन लाइनें मिलती हैं, जिन्हें मैं नहीं चाहता हूं। यदि मैंने numberOfLines
प्रॉपर्टी को 2 पर सेट किया है, तो यह वास्तव में पूरी चीज को एक पंक्ति पर फैलाता है और मेरे शुरुआती फ्रेम सेट को निब में बहुत व्यापक बनाता है।
CGRect titleFrame = [[self titleLabel] frame];
[[self titleLabel] setNumberOfLines:0];
[[self titleLabel] setText:newProductTitleText];
[[self titleLabel] sizeToFit];
CGRect newTitleFrame = [[self titleLabel] frame];
सीजीआरईटी सिर्फ मेरे लिए चीजों की गणना करने में सक्षम होने के लिए हैं। तो numberOfLines
से 0 कार्यों को सेट करना, और फ्रेम में मूल origin.x को नहीं बदलेगा, और लंबे टेक्स्ट को कई पंक्तियों में तोड़ देगा, लेकिन इसे 2 लाइनों तक सीमित नहीं करेगा। 2 के लिए numberOfLines
गुण को सेट है, जो है, जब मैं एप्पल डॉक्स पढ़
यह संपत्ति लाइनों की अधिकतम संख्या को उसकी सीमांकन आयत में लेबल का पाठ फिट करने के लिए उपयोग करने के लिए नियंत्रित करता है। इस संपत्ति के लिए डिफ़ॉल्ट मान 1. है किसी भी अधिकतम सीमा को निकालने के लिए, और आवश्यकतानुसार के रूप में कई लाइनों का प्रयोग, 0.
को यह संपत्ति के मूल्य सेट ऐसा लगता है मैं दो और अभी भी करने में सक्षम सेट इस होना चाहिए यह काम करो मैं sizeToFit
उम्मीद होती है जब सभी पाठ फिट करने के लिए विस्तार कर एक सकारात्मक एक्स और वाई दिशा में विस्तार करने के लिए, लेकिन यह एक नकारात्मक एक्स दिशा में विस्तार हो रहा है जब numberOfLines
से 0.
ईटीए अन्य पर सेट है: "AutoSize" struts हैं एक न्यूनतम एक्स, वाई पर इसे ठीक करने के लिए ऊपरी और बाईं ओर सेट करें।
किसी भी अंतर्दृष्टि के लिए धन्यवाद।
मुझे लगता है कि इस सूत्र में मदद मिल सकती http://stackoverflow.com/questions/5041874/uilabels-sizetofit-sizethatfits-ignore-the-numberoflines-property/13786846 # 13786846 –
यह एक पुराना सवाल है, और शायद वर्तमान आईओएस के लिए प्रासंगिक नहीं है, लेकिन मुझे नहीं लगता कि यह एक डुप्लिकेट कैसे है। मैंने इस सवाल को पढ़ा है कि दावा किया गया है कि यह एक डुप्लिकेट है और यह एक अलग सवाल है।यह एक नकारात्मक एक्स '-sizeToFit' द्वारा निर्धारित और नहीं के बारे में खड़ी एक UILabel में पाठ संरेखित होने के बारे में पूछता है। – chadbag