UILabel sizeWithFont: problema. testo in corsivo Clipping
-
28-09-2019 - |
Domanda
Ho creato un UILabel che visualizza un unico grande carattere. Anche con clipsToBounds = NO; Ho ancora ottenere clipping.
vedi link: http://img341.imageshack.us/img341/5310/ screenshot20100814at243.png
ho usato il seguente codice:
CGSize fBounds = [myLabel.text sizeWithFont:cFont];
Per ottenere quello che dovrebbe essere il rettangolo di delimitazione del carattere. E l'etichetta è disegnato con:
myLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 280, 300)];
myLabel.clipsToBounds = NO;
myLabel.numberOfLines = 1;
myLabel.textAlignment = UITextAlignmentCenter;
myLabel.adjustsFontSizeToFitWidth = YES;
myLabel.minimumFontSize = 10;
myLabel.text = @"A";
myLabel.font = [UIFont fontWithName:@"CourierNewPSMT" size:300];
myLabel.textColor = [UIColor blackColor];
myLabel.backgroundColor = [UIColor colorWithRed:1 green:.5 blue:0 alpha:.5];
Nell'immagine sottostante, la dimensione restituita da sizeWithFont è reso dal rettangolo blu sovrapposizione semitrasparente. Come si può vedere, con un carattere corsivo (in questo caso Verdana-BoldItalic), il personaggio si estende oltre ciò che ritorna sizeWithFont. Inoltre, telaio del UILabel (il colore arancione) anche clip del personaggio. Pensieri? Forse potrei ignorare alcune routine di disegno del testo. Inoltre, non so se questo è lo stesso problema come qui:
Soluzione 2
Sembra che questo è un problema di mela. Finito per fare disegno personalizzato con CoreText.
Altri suggerimenti
Usa attribuito testo + trattino ...