选择UITableViewCell时格式化文本标签

时间:2014-04-17 05:54:01

标签: ios iphone objective-c uilabel strikethrough

我正在开发一个购物清单应用,我想在选择一个单元格时将文本格式化为strikethrough,不太确定如何实现它。

我假设我应该在didSelectRowAtIndexPath:方法中切换此效果,但我不确定。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我不知道这是否是最佳方式,但这绝对是一种方式

    NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:cell.textLabel.text];
    [attributeString addAttribute:NSStrikethroughStyleAttributeName
                            value:@2
                            range:NSMakeRange(0, [attributeString length])];

    [attributeString addAttribute:NSStrikethroughColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, [attributeString length])];

    cell.textLabel.attributedText = attributeString;

您可以随意更改删除线的颜色。

答案 1 :(得分:0)

嘿,有一些链接给你,可能对你有所帮助。还得到了6岁以下iOS版本的删除答案。

link1

link2

我得到的代码适用于iOS 6及以上版本

NSMutableAttributedString *attString=[[NSMutableAttributedString alloc]initWithString:@"PROVIDE_YOUR_STRING"];
[attString addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:2] range:NSMakeRange(0,[attString length])];

_label.attributedText = attString;