Mehrzeiligen NSString zentriert zeichnen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mehrzeiligen NSString zentriert zeichnen

    Hallo,

    ich möchte unter iOS einen mehrzeiligen NSString zentriert zeichnen.
    Mittels

    Quellcode

    1. - (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode alignment:(NSTextAlignment)alignment

    klappt das wie gewünscht, leider ist diese Methode in iOS 7 deprecated.
    Laut der Dokumentation soll stattdessen folgende Methode verwendet werden:

    Quellcode

    1. - (void)drawWithRect:(CGRect)rect options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context

    Jedoch wird nur der Text nach dem Zeilenumbruch zentriert, der Text in der 1. Zeile ist jedoch linksbündig.

    Über das NSDictionary attrs habe ich folgenden NSMutableParagraphStyle übergeben:

    Quellcode

    1. NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    2. paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
    3. paragraphStyle.alignment = NSTextAlignmentCenter;

    als options übergebe ich NSStringDrawingUsesLineFragmentOrigin und als context nil.

    Vielen Dank für eure Hilfe!