1

彼、私がこのように私のビューにテキストを描くとき:

NSMutableDictionary *textAttrib = [[NSMutableDictionary alloc] init];
[textAttrib setObject:[NSFont fontWithName:@"Helvetica Light" size:15] forKey:NSFontAttributeName];
[textAttrib setObject:[NSColor grayColor] forKey:NSForegroundColorAttributeName];
[mouseString drawAtPoint:textPoint withAttributes:textAttrib];

テキストの配置を変更するにはどうすればよいですか?単純な左/右の配置が必要ですが、テキストフィールドでのみ、それに関する情報を見つけることができません。ありがとう!

4

2 に答える 2

1

この方法との整合という概念はありません[NSString drawAtPoint:withAttributes:]。考えてみれば、これは理にかなっています。アラインメントは、コントロールのコンテンツ(通常はNSTextField)に対して文字列がどのように表示されるかという概念です。

[NSString drawInRect:withAttributes:]ただし、その概念が存在する場所を試すことはできます。このSOの質問を参照してください。

更新:この質問は、@ justinによって与えられた(現在は削除されている)回答なしでは完了しません。これは、でテキストの配置を設定する方法NSAttributedStringを示しています。どちらも正しい答えですが、どちらも完全ではありません。

于 2013-02-23T12:53:44.793 に答える
1

NSParagraphStyle属性であるNSParagraphStyleAttributeNameという属性がありません。NSParagraphStyleオブジェクトを作成する場合は、次のプロパティを設定できます。

@property(readonly) NSTextAlignment alignment;  // readwrite for NSMutableParagraphStyle

あなたの場合、NSTextAlignmentLeftまたはNSTextAlignmentRightに設定する必要があります。

NSMutableParagraphStyle* style=[[NSMutableParagraphStyle alloc]init];
style.alignment= NSTextAlignmentLeft;
[textAttrib setObject: style forKey: NSParagraphStyleAttributeName];
于 2013-02-23T13:14:32.627 に答える