我在保留属性NSMutableString时遇到问题。我有一个UITableView,每个UITableViewCell都有一个属性文本。设置属性文本没有问题,但在选择时,UITableViewCell的属性将丢失。这是设置属性的 cellForRowAtIndexPath 中的代码:
NSMutableAttributedString *changesStyleString_h = [[NSMutableAttributedString alloc] initWithString:@"Attributes change!" attributes:@{NSFontAttributeName: [UIFont boldSystemFontOfSize:20], NSForegroundColorAttributeName:[UIColor yellowColor]}];
[changesStyleString_h addAttributes:@{ NSUnderlineStyleAttributeName:@(1)} range:NSMakeRange(11, 6)];
cell.mainLabel.attributedText = changesStyleString
我可能会指出 mainLabel 也是UILabel,没有自定义。非常感谢任何正确方向的帮助!
答案 0 :(得分:1)
我发现我需要在ENTIRE字符串上设置属性,否则它会做一些时髦的事情。
NSString* string = @"1 - some string"
NSMutableAttributedString* string = [[NSMutableAttributedString alloc] initWithString:string];
[string setAttributes:@{NSForegroundColorAttributeName: accent, NSFontAttributeName: [UIFont fontWithName:@"HelveticaNeue-Bold" size:13.f]} range:NSMakeRange(0, 1)];
突出显示单元格时会出现奇怪的行为。
然而,当我这样做时:
[string setAttributes:@{NSForegroundColorAttributeName: [UIColor blackColor]} range:NSMakeRange(1, [labelTwo length] - 1)];
一切似乎都按预期工作。
希望有所帮助!