如何通过UIButton创建罢工?

时间:2015-01-14 11:02:55

标签: ios objective-c uibutton

是否可以在不使用图像的情况下创建带文本删除的按钮?

我知道可以将其设为UILabel

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"Your String here"];
[attributeString addAttribute:NSStrikethroughStyleAttributeName
                        value:@2
                        range:NSMakeRange(0, [attributeString length])];

4 个答案:

答案 0 :(得分:0)

您需要使用setAttributedTitle:forState:传递您创建的属性字符串来设置按钮的标题。

答案 1 :(得分:0)

你可以尝试

[button setAttributedTitle:attributeString forState:UIControlStateNormal];
[button setAttributedTitle:attributeString forState:UIControlStateHighlighted]

答案 2 :(得分:0)

    let attributes = [NSStrikethroughStyleAttributeName : 1]
    let title = NSAttributedString(string: "YOUR STRING", attributes: attributes)

    button.setAttributedTitle(title, forState: .Normal)

答案 3 :(得分:0)

使用 Strike Through 属性制作可变属性字符串,并将此属性字符串设置为按钮的属性文本。使用了@grabury 问题上面的 attributeString 代码片段。

UIButton *button = [UIButton alloc] init];
NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"Your Text Here"];
    [attributeString addAttribute:NSStrikethroughStyleAttributeName
                            value:@2
                            range:NSMakeRange(0, [attributeString length])];
button.titleLabel.attributedText = attributeString;

谢谢。