2013-10-13 5 views
10

मेरे पास मल्टीलाइन UILabels के साथ एक सेल है, लेकिन जब टेक्स्ट का लेबल फ्रेम में फिट नहीं होता है, तो कोई बिंदु नहीं दिखाया जाता है, तो UILabel को डॉट्स जोड़ने के लिए कैसे करें। मैं इसे कैसे ठीक करूं?यदि पाठ फ्रेम फिट नहीं है

+2

क्या आपको वास्तव में इस पर एक बाउंटी जोड़ने की आवश्यकता थी। इस तरह के प्रश्न के सैकड़ों जवाब हैं। http://stackoverflow.com/questions/11302165/uilabel-linebreakmode-clip-doesnt-clip-text और https://www.google.co.uk/search?q=UILabel+lineBreakMode+&ie=utf-8&oe= utf-8 और rls = org.mozilla: en-US: आधिकारिक और क्लाइंट = फ़ायरफ़ॉक्स-ए और gws_rd = cr & ei = cQiiUsPpBKTK0QXZuoHoDA सरल Google खोज। – Popeye

+0

@Popeye मैंने पिछले उत्तरों के अनुसार इस समस्या को ठीक करने का प्रयास किया, लेकिन यह मेरी मदद नहीं करता है। पीएस: मेरे लेबल की संपत्ति "संख्याऑफलाइन" "2" पर सेट है, यदि यह "1" के बराबर है, तो यह काम करता है। –

+0

संख्याऑफलाइन डिफ़ॉल्ट रूप से 1 है। यदि आप सटीक संख्या को नहीं जानते हैं और UILable के आकार ToFit विधि का उपयोग करते हैं, तो इसे 0 सेट करने का प्रयास करें। – iProgrammer

उत्तर

30

क्या आपने यह कोशिश की है?

yourLabel.adjustsFontSizeToFitWidth = NO; 
yourLabel.lineBreakMode = NSLineBreakByTruncatingTail; 

पहले iOS6 उपयोग UILineBreakModeTailTruncation

+0

हां, मैंने कोशिश की।) –

+2

मुझे लगता है कि सही विकल्प 'NSLineBreakByTruncatingTail' है। जो आप अपने उत्तर में उल्लेख करते हैं वह बहिष्कृत है। – Macondo2Seattle

+0

मैंने NSLineBreakByTruncatingTail का उपयोग करने की कोशिश की, UILineBreakModeTailTruncation नहीं। –

2

तो foryou, एक और विकल्प वास्तव में लंबाई अपने स्ट्रिंग लेने के लिए जा रहा है की गणना करने के लिए है और अगर यह लेबल आकार से अधिक समय होने जा रहा है linebreakmode does not काम , खुद को "..." जोड़ें।

आप नीचे दिए गए कोड बहु लाइन के लिए संभाल करने के लिए साथ खेलने के लिए होगा (लेकिन विचार समान है)

उदाहरण के लिए, तेजी से 2.0 के लिए (उदाहरण के लिए detailLabel) लेबल लो

UILabel* detailLabel = cell.detailTextLabel; 
CGSize expectedDetailLabelSize = [detailLabel.text sizeWithFont:detailLabel.font 
              constrainedToSize:maximumLabelSize 
               lineBreakMode:detailLabel.lineBreakMode]; 
+0

मुझे यह समाधान पता है , लेकिन साथ ही मुझे आशा है कि वहां एक और आसान तरीका है।) –

3

यह हो जाएगा

yourLabel.adjustsFontSizeToFitWidth = false; 
yourLabel.lineBreakMode = NSLineBreakMode.ByTruncatingTail 
+0

स्विफ्ट 4 में बस 'बी' छोटा देने की जरूरत है। जैसे (yourLabel.adjustsFontSizeToFitWidth = false; yourLabel.lineBreakMode = NSLineBreakMode.byTruncatingTail) –

0

स्विफ्ट 3+ के लिए

label.adjustsFontSizeToFitWidth = false; 
label.lineBreakMode = NSLineBreakMode.byTruncatingTail; 
संबंधित मुद्दे