テキストを中央寄せ、右寄せで表示したい
UILabelにはtextAlignmentプロパティがあるので良いですが、NSStringから自前で文字揃えを実現する場合は少し厄介です。
NSStringの描画はdrawInRect:withAttributes:
メソッドで行えますが、withAttributesに対応する文字揃え用の属性が見当たらないんですよね。
NSParagraphStyleでレイアウトを整える
NSStringの文字揃えはNSParagraphStyleを用いることで実現可能です。
NSMutableParagraphStyle *style = NSParagraphStyle.defaultParagraphStyle.mutableCopy;
/* 中央揃え */
style.alignment = NSCenterTextAlignment;
[@"Center" drawInRect:NSMakeRect(0, 0, 50, 50) withAttributes:@{NSParagraphStyleAttributeName: style}];
/* 右揃え */
style.alignment = NSRightTextAlignment;
[@"Right" drawInRect:NSMakeRect(0, 0, 50, 50) withAttributes:@{NSParagraphStyleAttributeName: style}];