我是iOS开发的新手。我无法让我的字符串变得粗暴。
提前致谢! 这是我的代码
- (void)viewDidLoad {
[super viewDidLoad];
NSString *sentence = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@%@%@%@", self.name, self.adjective, self.noun, self.verb]];
NSMutableAttributedString *finalSentence = [[NSMutableAttributedString alloc] initWithString:sentence];
NSRange nameRange = NSMakeRange(0, self.name.length);
NSRange adjectiveRange = NSMakeRange(self.name.length, self.adjective.length);
NSRange nounRange = NSMakeRange((self.adjective.length + self.name.length), self.noun.length);
NSRange verbRange = NSMakeRange((self.adjective.length + self.name.length + self.noun.length), self.verb.length);
[finalSentence beginEditing];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:nameRange];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:adjectiveRange];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:nounRange];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:verbRange];
[finalSentence endEditing];
NSString *completeSentence = [finalSentence string];
self.resultTextView.text = completeSentence;
}
答案 0 :(得分:0)
有一个单独的NSAttributedString
课并不是偶然的。您使用属性字符串的completeSentence
属性检索的string
是普通NSString
,不包含格式信息(因为它不能)。
您必须将属性字符串对象本身分配给文本视图的attributedText
属性。
答案 1 :(得分:0)
您要将自定义文字([finalSentence string]
)的纯文本版本分配到UITextView
的纯文本属性。
您应该将属性文本直接设置为attributedText
的<{1}}属性 -
UITextView
答案 2 :(得分:0)
致电
self.resultTextView.attributedText = finalSentence;
以下是您需要的代码
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *sentence = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@%@%@%@", self.name, self.adjective, self.noun, self.verb]];
NSMutableAttributedString *finalSentence = [[NSMutableAttributedString alloc] initWithString:sentence];
NSRange nameRange = NSMakeRange(0, self.name.length);
NSRange adjectiveRange = NSMakeRange(self.name.length, self.adjective.length);
NSRange nounRange = NSMakeRange((self.adjective.length + self.name.length), self.noun.length);
NSRange verbRange = NSMakeRange((self.adjective.length + self.name.length + self.noun.length), self.verb.length);
[finalSentence beginEditing];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:nameRange];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:adjectiveRange];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:nounRange];
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:verbRange];
[finalSentence endEditing];
self.resultTextView.attributedText = finalSentence;
}