将NSString的子字符串更改为粗体

时间:2012-10-16 07:21:52

标签: ios objective-c nsattributedstring

我有NSString,其中包含标记[strong][\strong]。在此代码中,此字词必须粗体才能显示在UITextView中,然后在格式化字词后删除所有容器代码,并且我无法使用UIWebView 。我想我必须使用attributedString,但我不确定如何实现它。

3 个答案:

答案 0 :(得分:2)

您可以使用OHAttributedLabelCoreTextAttributedLabel等高级UITextView,而不是使用UILabel。下载样本,它的好处&清洁。您可以更改字符串部分的颜色,字体,大小,下划线和几乎所有内容。

答案 1 :(得分:1)

适用于iOS 6.0

归属字符串可以帮到你!

NSString* string = @"[strong]yourString[/strong]";
string = [string stringByReplacingOccurrencesOfString:@"[strong]" withString:@""]
string = [string stringByReplacingOccurrencesOfString:@"[\strong]" withString:@""];
UIFont *font = [UIFont fontWithName:@"Helvetica-Bold" size:30.0f];
NSMutableAttributedString * attrString = [[NSMutableAttributedString alloc] initWithString:string];
[attrString addAttribute:NSFontAttributeName value:fontName range:NSMakeRange(0, _stringLength)];

确保将标签文本设置为属性。

希望这有帮助!

答案 2 :(得分:0)

if([[yourString substringToIndex:8] isEqual:@"[strong]")
{
NSString *newString = [yourString substringFromIndex:8];
NSString *newerString = [newString substringToIndex:[newString length]-9];

//Insert to label and change label format to bold.

}