Вопрос по cocoa-touch, uilabel, iphone – UILabel Strikethrough

13

Это возможноstikethrough UILabel совсем? Я не могу найти вариант ...

Ваш Ответ

5   ответов
4

Вы можете создать еще одну UILabel над вашим ярлыком и использовать символ тире:

label.text = @"––––––––––––––––––";

Предостережение: работает с Helvetica (система по умолчанию). Может не работать с другими шрифтами.

3

iPhone не поддерживает атрибутивные строки (как правило, вы это делаете в Какао), поэтому я не верю, что это возможно.

Вы могли бы подклассUILabel и нарисуйтеstrikethrough сам. Я также видел, как некоторые люди используютUIWebView делать такие вещи, но это кажется мне излишним.

Спасибо, хоть чушь! Блимин Яблоко! Lee Armstrong
Начиная с iOS 6, он поддерживает NSAttributedString. Смотри мой пост
9

Это старый вопрос и доступна более новая информация.

Начиная с iOS 6, мы имеемNSAttributedString.

Для предварительной iOS 6, я бы посмотрел наTTTAttributedLabel

1
UIView* slabel = [[UIView alloc] initWithFrame:CGRectMake(label.frame.origin.x, label.frame.origin.y+10, label.frame.size.width, 2)];
[self addSubview:slabel];
[slabel setBackgroundColor:label.textColor];

Вы можете добавить представление над UILabel и стилизовать его со свойствами метки.

1
NSAttributedString *str=[[NSMutableAttributedString alloc]  initWithString:[NSString stringWithFormat:@"¥%.2f", productOne.priceBefore]  attributes:@{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle)}];

cell.priceBefore.attributedText = str;

Похожие вопросы