Swift में Attributed String: जब सामान्य टेक्स्ट पर्याप्त नहीं है
\n\nक्या आपने कभी सोचा है कि कुछ ऐप्स में टेक्स्ट एक उबाऊ ग्रे शीट जैसा क्यों दिखता है, जबकि दूसरों में यह कला का नमूना लगता है? रहस्य सरल है: attributed string। यह iOS डेवलपर का सबसे शक्तिशाली टूल है, जो आपको टेक्स्ट के हर पिक्सेल को नियंत्रित करने की अनुमति देता है: रंग, फ़ॉन्ट, अंतराल, छाया और यहां तक कि इंटरैक्टिव लिंक भी।
\n\nइस लेख में, हम समझेंगे कि Swift में NSAttributedString कैसे बनाएं, इसे कैसे कॉन्फ़िगर करें और कहां उपयोग करें। आप केवल सूखे तथ्य नहीं, बल्कि वास्तविक तकनीकें सीखेंगे जो आपके ऐप को अधिक सुंदर और उपयोगकर्ता-अनुकूल बनाएंगी। चलिए शुरू करते हैं!
Attributed String क्या है? जानने योग्य बुनियादी बातें
\n\nक्लासिक String में सभी वर्ण समान होते हैं — एक फ़ॉन्ट, एक रंग, एक आकार। NSAttributedString (और इसका परिवर्तनीय संस्करण NSMutableAttributedString) एक ऐसी स्ट्रिंग है, जिसमें प्रत्येक वर्ण या वर्णों की श्रेणी के अपने गुण हो सकते हैं। कल्पना करें कि आप "नमस्ते" शब्द लिख रहे हैं: अक्षर "न" लाल और बोल्ड है, "म" नीला और इटैलिक है, और इसी तरह। जादू जैसा लगता है? नहीं, यह बस Swift attributed string है।
वास्तविक ऐप्स में इसका उपयोग कहाँ होता है?
\n- \n
- टेक्स्ट एडिटर (बोल्ड, इटैलिक हाइलाइटिंग) \n
- सोशल नेटवर्क (@username उल्लेख क्लिक करने योग्य और रंगीन) \n
- चैट ऐप्स (विभिन्न उपयोगकर्ताओं के लिए अलग-अलग रंग) \n
- ई-बुक्स (शीर्षकों और उद्धरणों के लिए अलग-अलग फ़ॉन्ट) \n
- कोई भी इंटरफ़ेस जहाँ टेक्स्ट सिर्फ टेक्स्ट नहीं, बल्कि डिज़ाइन का एक तत्व है \n
Swift में NSAttributedString कैसे बनाएं: सरल से जटिल तक
\n\nआइए एक बुनियादी उदाहरण से शुरू करें। Swift में attributed string बनाना एक प्रक्रिया है जिसमें आप गुणों का एक शब्दकोश परिभाषित करते हैं और इसे टेक्स्ट पर लागू करते हैं।
\n\nउदाहरण 1: सबसे सरल attributed string
\nimport UIKit\n\nlet plainText = "Hello, Swift!"\nlet attributes: [NSAttributedString.Key: Any] = [\n .foregroundColor: UIColor.red,\n .font: UIFont.boldSystemFont(ofSize: 18)\n]\nlet attributedString = NSAttributedString(string: plainText, attributes: attributes)\n\n// UILabel में उपयोग करें\nlet label = UILabel()\nlabel.attributedText = attributedString\n\nइस उदाहरण में, हमने एक स्ट्रिंग बनाई जहाँ सारा टेक्स्ट लाल रंग का, बोल्ड फ़ॉन्ट 18pt का है। NSAttributedString.Key पर ध्यान दें — यह सभी संभावित गुणों की गणना है। इनमें से दर्जनों हैं, और हम सबसे उपयोगी गुणों पर विचार करेंगे।
उदाहरण 2: टेक्स्ट के विभिन्न भागों के लिए अलग-अलग गुण
\nअसली मज़ा यहाँ से शुरू होता है। NSMutableAttributedString का उपयोग करें:
let mutableString = NSMutableAttributedString(string: "यह बोल्ड है, और यह लाल टेक्स्ट है")\n\n// पहले 10 वर्णों पर बोल्ड फ़ॉन्ट लागू करें\nmutableString.addAttribute(.font, value: UIFont.boldSystemFont(ofSize: 16), range: NSRange(location: 0, length: 10))\n\n// अंतिम 15 वर्णों पर लाल रंग लागू करें\nmutableString.addAttribute(.foregroundColor, value: UIColor.red, range: NSRange(location: 14, length: 15))\n\n// UITextView में उपयोग करें\nlet textView = UITextView()\ntextView.attributedText = mutableString\n\nमहत्वपूर्ण: NSRange वर्ण स्थितियों के साथ काम करता है, Swift इंडेक्स के साथ नहीं। इमोजी और मल्टी-बाइट वर्णों के साथ सावधान रहें।
शीर्ष 10 गुण जिनका आप प्रतिदिन उपयोग करेंगे
\n\nयहाँ उन कुंजियों की सूची है जिनका उपयोग आप NSAttributedString Swift के साथ काम करते समय सबसे अधिक करेंगे:
\n\n- \n
.font— फ़ॉन्ट (UIFont) \n .foregroundColor— टेक्स्ट का रंग \n .backgroundColor— टेक्स्ट की पृष्ठभूमि \n .underlineStyle— रेखांकन (NSUnderlineStyle) \n .strikethroughStyle— स्ट्राइकथ्रू \n .paragraphStyle— पैराग्राफ शैली