खोज…


टिप्पणियों

NSAttributedString का उपयोग करके फ़ॉन्ट का रंग सेट करें

एक स्ट्रिंग बनाना जिसमें कस्टम कर्निंग (अक्षर रिक्ति)

NSAttributedString (और इसके NSAttributedString भाई-बहन NSMutableAttributedString ) आपको उपयोगकर्ता के लिए उनकी उपस्थिति में जटिल होने वाले तार बनाने की अनुमति देता है।

एक सामान्य अनुप्रयोग एक स्ट्रिंग प्रदर्शित करने और कस्टम कर्निंग / पत्र-रिक्ति जोड़ने के लिए इसका उपयोग करना है।

यह इस प्रकार से प्राप्त किया जाएगा (जहां लेबल एक UILabel ), "कर्निंग" शब्द के लिए एक अलग कर्लिंग प्रदान करता है।

तीव्र

var attributedString = NSMutableAttributedString("Apply kerning")
attributedString.addAttribute(attribute: NSKernAttributeName, value: 5, range: NSMakeRange(6, 7))
label.attributedText = attributedString

उद्देश्य सी

NSMutableAttributedString *attributedString;
attributedString = [[NSMutableAttributedString alloc] initWithString:@"Apply kerning"];
[attributedString addAttribute:NSKernAttributeName value:@5 range:NSMakeRange(6, 7)];
[label setAttributedText:attributedString];

स्ट्राइकथ्रू पाठ के साथ एक स्ट्रिंग बनाएं

उद्देश्य सी

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"Your String here"];
[attributeString addAttribute:NSStrikethroughStyleAttributeName
                    value:@2
                    range:NSMakeRange(0, [attributeString length])];

तीव्र

let attributeString: NSMutableAttributedString =  NSMutableAttributedString(string: "Your String here")
attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: NSMakeRange(0, attributeString.length))

फिर आप इसे अपने UILabel में जोड़ सकते हैं:

yourLabel.attributedText = attributeString;

स्विफ्ट में अनुप्रयुक्त स्ट्रिंग्स और बोल्ड टेक्स्ट को लागू करना

let someValue : String = "Something the user entered"     
let text = NSMutableAttributedString(string: "The value is: ")
text.appendAttributedString(NSAttributedString(string: someValue, attributes: [NSFontAttributeName:UIFont.boldSystemFontOfSize(UIFont.systemFontSize())]))

परिणाम जैसा दिखता है:

मान है: उपयोगकर्ता द्वारा दर्ज कुछ

किसी शब्द या स्ट्रिंग का रंग बदलना

उद्देश्य सी

UIColor *color = [UIColor redColor];
NSString *textToFind = @"redword";

NSMutableAttributedString *attrsString =  [[NSMutableAttributedString alloc] initWithAttributedString:yourLabel.attributedText];

// search for word occurrence
NSRange range = [yourLabel.text rangeOfString:textToFind];
if (range.location != NSNotFound) {
    [attrsString addAttribute:NSForegroundColorAttributeName value:color range:range];
}

// set attributed text
yourLabel.attributedText = attrsString;

तीव्र

let color = UIColor.red;
let textToFind = "redword"
        
let attrsString =  NSMutableAttributedString(string:yourlabel.text!);
        
// search for word occurrence
let range = (yourlabel.text! as NSString).range(of: textToFind)
if (range.length > 0) {
     attrsString.addAttribute(NSForegroundColorAttributeName,value:color,range:range)
}
        
// set attributed text
yourlabel.attributedText = attrsString

नोट :

यहां मुख्य एक प्रयोग है NSMutableAttributedString और चयनकर्ता addAttribute:value:range विशेषता के साथ NSForegroundColorAttributeName एक स्ट्रिंग रेंज के एक रंग बदलने के लिए:

NSMutableAttributedString *attrsString =  [[NSMutableAttributedString alloc] initWithAttributedString:label.attributedText];
[attrsString addAttribute:NSForegroundColorAttributeName value:color range:range];

आप रेंज प्राप्त करने के लिए दूसरे तरीके का उपयोग कर सकते हैं, उदाहरण के लिए: NSRegularExpression।

सभी विशेषताओं को हटाना

उद्देश्य सी

NSMutableAttributedString *mutAttString = @"string goes here";
NSRange range = NSMakeRange(0, mutAttString.length);
[mutAttString setAttributes:@{} range:originalRange];

प्रति एप्पल प्रलेखन हम उपयोग करते हैं, के रूप में setAttributes और नहीं addAttribute

तीव्र

mutAttString.setAttributes([:], range: NSRange(0..<string.length))


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow