Возможно ли вообще stikethrough
a UILabel
? Кажется, я не могу найти вариант...
UILabel Strikethrough
Ответ 1
Это старый вопрос и более новая информация доступна.
Начиная с iOS 6, NSAttributedString.
Для pre iOS 6 я бы посмотрел на TTTAttributedLabel
Ответ 2
Вы можете создать еще один UILabel над своей меткой и использовать символ en dash:
label.text = @"––––––––––––––––––";
Caveat: работает с Helvetica (по умолчанию по умолчанию). Он может не работать с другими шрифтами.
Ответ 3
iPhone не поддерживает атрибутированные строки (как правило, вы делаете это в Cocoa), поэтому я не считаю возможным.
Вы можете подклассифицировать UILabel
и нарисовать strikethrough
самостоятельно. Я также видел, что некоторые люди используют UIWebView
для выполнения этого типа вещей, но для меня это кажется излишним.
Ответ 4
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 и создать его с помощью свойств метки.
Ответ 5
NSAttributedString *str=[[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"¥%.2f", productOne.priceBefore] attributes:@{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle)}];
cell.priceBefore.attributedText = str;