gpt4 book ai didi

ios - 字符串和属性问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:30 25 4
gpt4 key购买 nike

我一直在胡思乱想,但没有得到适当的结果。我的代码如下

NSMutableAttributedString *nameString = [[NSMutableAttributedString alloc]initWithString:((User *)appDelegate.users[self.currentUserIndex]).name];
[nameString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:NSMakeRange(0, nameString.length)];

NSString *adviceString = [[NSString alloc] initWithFormat:@"%@, remember be extra aware of the \n cat today. The dog index is 4, dogcatcher \n suggests you should at minimum wear \n a dog and apply cat...", [nameString string]];

因此,它不会根据需要将用户名加粗。我尝试使用 NSAttributedString 作为 adviceString 但后来我无法使用 initWithFormat: 方法并在字符串后列出变量,而且我没有看到任何 NSAttributedString 等效。我想用 NSAttributedString 而不是 NSMutableAttributedString,但它似乎无法识别 addAttribute:value:fontWithName:range 方法。有人可以帮帮我吗?非常感谢任何帮助。

最佳答案

这是肯定的,您还需要为 adviceString 使用 NSAttributedString 以获得属性。

代码是这样的,如果你需要使用stringWithFormat:

NSString *fullName = @"Anoop Kumar Vaidya";
NSMutableAttributedString *attributedName = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"Hello %@", fullName]
attributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:[UIFont systemFontSize]]}];

在属性中,您可以添加更多所需/必需的属性。

编辑 2:

您可能喜欢使用一些方法:

-(NSMutableAttributedString *)normalString:(NSString *)string{
return [[NSMutableAttributedString alloc] initWithString:string
attributes:@{}];
}

-(NSMutableAttributedString *)boldString:(NSString *)string{
return [[NSMutableAttributedString alloc] initWithString:string
attributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:[UIFont systemFontSize]]
}];
}

然后根据您的要求使用它们:

NSMutableAttributedString *attributedName = [self boldString:fullName];
[attributedName appendAttributedString:[self normalString:@" is creating one"]];
[attributedName appendAttributedString:[self boldString:@" bold"]];
[attributedName appendAttributedString:[self normalString:@" string."]];

关于ios - 字符串和属性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27399753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com