, मैं समाप्त हो गया-अप एक UILabel
के बजाय एक UITextView
का उपयोग करके इसे सुलझाने।
यह निर्धारित पाठ रिक्ति है कि क्या और से शब्द/चरित्र चादर/करने के लिए UILabel
की लाइन ब्रेक मोड बदलने के लिए किसी भी कस्टम व्यवहार की आवश्यकता नहीं है: यह दो कारणों से सबसे अच्छा समाधान था।
अधिक महत्वपूर्ण बात यह है कि आपके पास सामान्य शब्द हो सकते हैं (जिसमें आप शब्द सीमाओं को लपेटना चाहते हैं) और अतिरिक्त लंबे पाठ (जिसे आपको चरित्र सीमाओं पर लपेटने की आवश्यकता है)। "नकली शब्द लपेटें" को मजबूर करने के लिए उस अतिरिक्त लंबे पाठ (सही स्थिति पर) में एक जगह डालने के लिए किसी प्रकार का तर्क लिखने के लिए, मैं स्थिति के आधार पर शब्दों और पात्रों पर रैपिंग को संभालने का कोई तरीका नहीं देख सकता, एक UILabel
के भीतर। UITextView
आवश्यक रूप से शब्द सीमाओं या चरित्र सीमाओं को तोड़ने, स्वचालित रूप से इस स्थिति को संभालता है।
मैं यह कैसे कर रहा हूँ पर स्पष्ट जानकारी के लिए मैं संपादन और विकलांग स्क्रॉल के साथ एक एक पंक्ति UITextView
है। मैंने को UILabel
की तरह पैडिंग बनाने (अनसुनी आंखों के लिए) को हटाने के लिए भी सेट किया है। मैं प्रस्तुत किए गए पाठ के फ्रेम को निर्धारित करने के लिए sizeWithFont:constrainedToSize:lineBreakMode:
विधि का उपयोग कर रहा हूं और तदनुसार UITextView
के फ्रेम को समायोजित कर रहा हूं ताकि यह टेक्स्ट को ठीक से फिट कर सके।
आशा है कि इससे मदद मिलती है!
भावी पाठकों के लिए नोट (मेरे जैसा): आईओएस 7 और एसडीके 8 के साथ परीक्षण, UILineBreakModeWordWrap अब जिस तरह से उम्मीद करेगा, काम करने के लिए प्रतीत होता है।यही है, जब संभव हो तो यह शब्द से टूट जाता है, लेकिन यदि आवश्यक हो तो चरित्र द्वारा। अगर यह UILabel के लिए है। – eselk