2009-06-28 19 views

risposta

3

iPhone non supporta le stringhe attribuite (che di solito è il modo in cui lo faresti in Cocoa), quindi non credo sia possibile.

È possibile creare sottoclasse UILabel e disegnare da soli il strikethrough. Ho anche visto alcune persone usare un UIWebView per fare questo tipo di cose, ma mi sembra eccessivo.

+0

Grazie, po 'spazzatura però! blimin Apple! –

+0

Avvio di iOS 6, supporta NSAttributedString. Vedi il mio post – Stephen

3

Si potrebbe creare un altro UILabel sopra l'etichetta e utilizzare un carattere trattino:

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

Caveat: funziona con Helvetica (di default del sistema). Potrebbe non funzionare con altri tipi di carattere.

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]; 

È possibile aggiungere una vista su UILabel e modificarla con le proprietà dell'etichetta.

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

cell.priceBefore.attributedText = str;