drawInRect: withAttributes vs drawInRect: withFont: lineBreakMode: alignierung

Ich arbeite an einer neuen Version meiner App und versuche, veraltete Nachrichten zu ersetzen, komme aber nicht an dieser vorbei.

Ich kann nicht herausfinden warumdrawInRect:withAttributes funktioniert nicht. Der Code wird korrekt angezeigt, wenndrawInRect:withFont:lineBreakMode:alignment Nachricht wird gesendet, funktioniert aber nicht, wenndrawInRect:withAttributes gesendet wird.

Ich verwende das gleiche Rect und die gleiche Schriftart und ich glaube, dass es sich um den gleichen Textstil handelt. Die Konstanten positionieren nur das Rechteck direkt unter einem Bild, aber ich verwende das gleiche Rechteck für beide Aufrufe, daher bin ich sicher, dass das Rechteck korrekt ist.

(beachten Sie, dassbs.name wird ein NSString-Objekt verwendet)

        CGRect textRect = CGRectMake(fCol*kRVCiPadAlbumColumnWidth,
                                     kRVCiPadAlbumColumnWidth-kRVCiPadTextLabelYOffset,
                                     kRVCiPadAlbumColumnWidth,
                                     kRVCiPadTextLabelHeight);
        NSMutableParagraphStyle *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
        textStyle.lineBreakMode = NSLineBreakByWordWrapping;
        textStyle.alignment = NSTextAlignmentCenter;
        UIFont *textFont = [UIFont systemFontOfSize:16];

Dies funktioniert nicht (es wird nichts auf dem Bildschirm angezeigt), wenn die Variablen von oben verwendet werden

        [bs.name drawInRect:textRect
             withAttributes:@{NSFontAttributeName:textFont,
                              NSParagraphStyleAttributeName:textStyle}];

Dies funktioniert (die Zeichenfolge wird ordnungsgemäß auf dem Bildschirm gezeichnet), wenn dieselben Variablen wie oben verwendet werden

        [bs.name drawInRect:textRect
                   withFont:textFont
              lineBreakMode:NSLineBreakByWordWrapping
                  alignment:NSTextAlignmentCenter];

Jede Hilfe wäre toll. Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage