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:

UIButton.titleLabel clipping problema testo

È stato utile?

Soluzione 2

Sembra che questo è un problema di mela. Finito per fare disegno personalizzato con CoreText.

Altri suggerimenti

Usa attribuito testo + trattino ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top