La prima cosa che devi fare è ottenere la dimensione del testo.
Per fortuna, il NSString UIKit Additions Reference offre un metodo per fare esattamente questo:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
che vi darà un CGSize
che è possibile utilizzare per impostare la struttura del vostro UILabel
o qualunque sottoclasse di UIView
che sei utilizzando.
Quindi, ipotizzando textLayer
è un UILabel
- piuttosto che un CALayer
- vi ritroverete con qualcosa di simile:
UIFont *myFont = [UIFont boldSystemFontOfSize:12.0f];
CGSize myFontSize = [myString sizeWithFont:myFont];
myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, myFontSize.width, myFontSize.height)];
myLabel.text = newTitle;
myLabel.font = myFont;
fonte
2012-01-30 18:21:21
si è interrogato sul che troppo .. – Nils