在 UIBarButtonItem 标题中对字符串使用多种样式
Using multiple styles for string in UIBarButtonItem title
如果要使用属性字符串来格式化字符串,使第一个单词具有不同于第二个单词的样式(例如字体)。因此我认为我可以使用 NSMutableAttributedString
。现在我有一个UIBarButtonItem
,但是这里只能设置标题和标题的文本属性。
我看到了一个implementation,其中一个NSDictionary
用来拥有多个属性。这样做的缺点是您只能对整个字符串进行格式化。我需要它作为字符串的一部分。
是否可以在 UIBarButtonItem
中为同一标题字符串设置多种样式?
你可以像这样使用
NSMutableAttributedString *;label_text =
[[NSMutableAttributedString alloc]initWithAttributedString: yourlabelel.attributedText];
[label_text addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,1)];
[label_text addAttribute:NSForegroundColorAttributeName value: [UIColor greenColor] range:NSMakeRange(1,2)];
[label_text addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(2,3)];
[yourlabelel setAttributedText: label_text];
终于将此标签添加到您的 UIBarButtonItem
选择-2
看到这个link
您可以使用自定义视图初始化 UIBarButtonItem
。准备您的属性字符串,创建一个 UILabel
,将其 attributedText
设置为准备好的字符串,然后使用标签初始化按钮。
像这样:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 24)];
NSAttributedString *strt = [[NSAttributedString alloc] initWithString:@"text"
attributes:@{
NSForegroundColorAttributeName : [UIColor redColor]
}];
label.attributedText = strt;
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:label];
如果要使用属性字符串来格式化字符串,使第一个单词具有不同于第二个单词的样式(例如字体)。因此我认为我可以使用 NSMutableAttributedString
。现在我有一个UIBarButtonItem
,但是这里只能设置标题和标题的文本属性。
我看到了一个implementation,其中一个NSDictionary
用来拥有多个属性。这样做的缺点是您只能对整个字符串进行格式化。我需要它作为字符串的一部分。
是否可以在 UIBarButtonItem
中为同一标题字符串设置多种样式?
你可以像这样使用
NSMutableAttributedString *;label_text =
[[NSMutableAttributedString alloc]initWithAttributedString: yourlabelel.attributedText];
[label_text addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,1)];
[label_text addAttribute:NSForegroundColorAttributeName value: [UIColor greenColor] range:NSMakeRange(1,2)];
[label_text addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(2,3)];
[yourlabelel setAttributedText: label_text];
终于将此标签添加到您的 UIBarButtonItem
选择-2
看到这个link
您可以使用自定义视图初始化 UIBarButtonItem
。准备您的属性字符串,创建一个 UILabel
,将其 attributedText
设置为准备好的字符串,然后使用标签初始化按钮。
像这样:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 24)];
NSAttributedString *strt = [[NSAttributedString alloc] initWithString:@"text"
attributes:@{
NSForegroundColorAttributeName : [UIColor redColor]
}];
label.attributedText = strt;
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:label];