CATextLayer umwickelt sizeToFit?

1 answer
  • Als Erstes müssen Sie die Größe des Textes ermitteln.

    Glücklicherweise die NSString UIKit - Additionsreferenz bietet eine Methode, die genau das tut:

     - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
     

    Dadurch erhalten Sie eine CGSize, mit der Sie dann den Rahmen Ihrer UILabel oder einer anderen Unterklasse von [&&4 && festlegen können. ], die Sie verwenden.

    Wenn Sie also annehmen, dass textLayer ein UILabel ist - und nicht ein CALayer -, werden Sie am Ende etwa Folgendes anzeigen:

     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;
     
    30 January 2012
    Max MacLeod