में UILabel में लाइन स्पेसिंग बढ़ाने के लिए कैसे मेरे पास एक लेबल है जिसमें टेक्स्ट की कुछ पंक्तियां हैं और मैं लाइनों के बीच अंतर को बढ़ाना चाहता हूं। दूसरों द्वारा पूछे जाने वाले समान प्रश्न हैं लेकिन समाधान मेरी समस्याओं का समाधान नहीं करते हैं। इसके अलावा मेरे लेबल में पैराग्राफ हो सकते हैं या नहीं भी हो सकते हैं। मैं Swift
पर नया हूं। स्टोरीबोर्ड का उपयोग कर कोई समाधान है? या केवल NSAttributedString
के माध्यम से यह संभव है?स्विफ्ट
स्विफ्ट
उत्तर
प्रोग्रामिंग रूप से निम्नलिखित स्निपेट का उपयोग करके अपने UILabel
पर लाइनस्पेसिंग जोड़ें।
let attributedString = NSMutableAttributedString(string: "Your text")
// *** Create instance of `NSMutableParagraphStyle`
let paragraphStyle = NSMutableParagraphStyle()
// *** set LineSpacing property in points ***
paragraphStyle.lineSpacing = 2 // Whatever line spacing you want in points
// *** Apply attribute to string ***
attributedString.addAttribute(NSParagraphStyleAttributeName, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))
// *** Set Attributed String to your label ***
label.attributedText = attributedString;
मैंने वास्तव में यह कोशिश की। लेकिन यह काम नहीं कर रहा है। यह कस्टम फोंट के लिए भी उपयोगी नहीं है। – Sneha
यदि आप कस्टम फोंट में गलत संरेखण का सामना कर रहे हैं, तो 'आरोही' संपत्ति को अपडेट करने का प्रयास करें [यहां बताया गया है] (http://stackoverflow.com/a/8314285/988169)। – pkc456
इसकी गलत संरेखण समस्या नहीं है। मैं आपके कस्टम फ़ॉन्ट का चयन उस समाधान के साथ नहीं कर सकता जिसे आपने कहा था @ pkc456 – Sneha
इंटरफ़ेस बिल्डर से:
प्रोग्राम:
स्विफ्ट 4
लेबल एक्सटेंशन का उपयोग करना
extension UILabel {
func setLineSpacing(lineSpacing: CGFloat = 0.0, lineHeightMultiple: CGFloat = 0.0) {
guard let labelText = self.text else { return }
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = lineSpacing
paragraphStyle.lineHeightMultiple = lineHeightMultiple
let attributedString:NSMutableAttributedString
if let labelattributedText = self.attributedText {
attributedString = NSMutableAttributedString(attributedString: labelattributedText)
} else {
attributedString = NSMutableAttributedString(string: labelText)
}
// Line spacing attribute
attributedString.addAttribute(NSAttributedStringKey.paragraphStyle, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))
self.attributedText = attributedString
}
}
अब विस्तार फ़ंक्शन को कॉल
let label = UILabel()
let stringValue = "Set\nUILabel\nline\nspacing"
// Pass value for any one argument - lineSpacing or lineHeightMultiple
label.setLineSpacing(lineSpacing: 2.0) . // try values 1.0 to 5.0
// or try lineHeightMultiple
//label.setLineSpacing(lineHeightMultiple = 2.0) // try values 0.5 to 2.0
या लेबल उदाहरण का उपयोग करते हुए (बस कॉपी & इस कोड को निष्पादित परिणाम देखने के लिए)
let label = UILabel()
let stringValue = "Set\nUILabel\nline\nspacing"
let attrString = NSMutableAttributedString(string: stringValue)
var style = NSMutableParagraphStyle()
style.lineSpacing = 24 // change line spacing between paragraph like 36 or 48
style.minimumLineHeight = 20 // change line spacing between each line like 30 or 40
// Line spacing attribute
attrString.addAttribute(NSAttributedStringKey.paragraphStyle, value: style, range: NSRange(location: 0, length: stringValue.characters.count))
// Character spacing attribute
attrString.addAttribute(NSAttributedStringKey.kern, value: 2, range: NSMakeRange(0, attrString.length))
label.attributedText = attrString
स्वाई फुट 3
let label = UILabel()
let stringValue = "Set\nUILabel\nline\nspacing"
let attrString = NSMutableAttributedString(string: stringValue)
var style = NSMutableParagraphStyle()
style.lineSpacing = 24 // change line spacing between paragraph like 36 or 48
style.minimumLineHeight = 20 // change line spacing between each line like 30 or 40
attrString.addAttribute(NSParagraphStyleAttributeName, value: style, range: NSRange(location: 0, length: stringValue.characters.count))
label.attributedText = attrString
"NSAttributedStringKey.paragraphStyle" त्रुटि थी, मैं "NSParagraphStyleAttributeName" के बजाय इस्तेमाल किया। – Alfi
@Alfi - यह स्विफ्ट भाषा संस्करण का अंतर है। आपकी परियोजना की तेज लांग। संस्करण तेजी से 3.x हो सकता है और यहां दोनों संस्करणों के उत्तर हैं। स्विफ्ट 3 कोड के साथ प्रयास करें। – Krunal
- 1. स्विफ्ट: (स्विफ्ट) वर्ण
- 2. स्विफ्ट
- 3. स्विफ्ट
- 4. स्विफ्ट
- 5. स्विफ्ट
- 6. स्विफ्ट
- 7. स्विफ्ट
- 8. स्विफ्ट
- 9. स्विफ्ट
- 10. स्विफ्ट
- 11. स्विफ्ट
- 12. स्विफ्ट
- 13. स्विफ्ट
- 14. स्विफ्ट
- 15. स्विफ्ट
- 16. स्विफ्ट
- 17. स्विफ्ट
- 18. स्विफ्ट
- 19. स्विफ्ट
- 20. स्विफ्ट
- 21. स्विफ्ट
- 22. स्विफ्ट
- 23. स्विफ्ट
- 24. स्विफ्ट
- 25. स्विफ्ट
- 26. स्विफ्ट
- 27. स्विफ्ट
- 28. स्विफ्ट
- 29. स्विफ्ट
यह एक त्रुटि "प्रकार 'NSAttributedString' कोई सदस्य 'addAttribute' है का मूल्य" को दर्शाता है। – Sneha
हमें 'NSAutableAttributedString' के बजाय' NSAttributedString' का उपयोग करने की आवश्यकता है। मैंने एवरर अपडेट किया है। –
कस्टम फ़ॉन्ट्स के साथ काम भी महान @ दीपेन पंचसर –