12

を使用するアプリがありNSTextAlignmentJustifiedますNSAttributedStringiOS 6では、すべてがうまく機能しています。しかし、iOS 7で実行されている同じアプリ(シミュレーターまたはデバイスに違いはありません) は、Justify をまったく表示しません。また、 iOS 6から7で行間が大幅に変更されたようです。

他の誰かがこの問題に遭遇しましたか? iOS 7 で正当化された Textblock を作成する方法はありますか (iOS 6 でも機能しますか?)

よろしく、 マーカス

4

3 に答える 3

27

わかりました、iOS 7 でラベル Justifiy を作成する方法を見つけました。単純に NSBaselineOffsetAttributeName を 0 に設定します。

なぜ機能するのかわかりませんが、機能します。

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
    paragraphStyle.alignment = NSTextAlignmentJustified;

NSAttributedString *string = [[NSAttributedString alloc] initWithString:rawString 
          attributes:[NSDictionary dictionaryWithObjectsAndKeys:
          paragraphStyle, NSParagraphStyleAttributeName , 
          [NSNumber numberWithFloat:0],NSBaselineOffsetAttributeName, 
          nil]];
于 2013-10-18T09:04:26.607 に答える
1

記録のために、プレーン UILabel の最初の文字として '\n' を追加することもできます。

        self.text = [NSString stringWithFormat:@"\n%@",TextString];
        {
            CurFrame.origin.y -= FontSize;
            self.frame = CurFrame;
        }
        self.textAlignment = NSTextAlignmentJustified;
于 2014-09-09T12:04:52.997 に答える