OSx,使用NSCell右对齐NSTable中的文本

时间:2015-11-02 14:02:09

标签: objective-c cocoa

我有NSTableView,基于单元格,有多个列,并且在IB中将文本对齐设置为正确且所有工作。考虑扩展,因此决定使用NSCell来自定义表列中的打印。我可以毫无问题地更改字体颜色和字体大小,但我无法接缝以使文本在单元格中正确对齐。我尝试了许多不同的东西,没有接缝可以工作。希望有人有一个可行的想法。

尝试以下方法:

 NSMutableParagraphStyle *paraStyle [[NSMutableParagraphStyle alloc] init];
 [paraStyle setAlignment: NSRightTextAlign];
 NSDictionary *textAttributes = @{NSParagraphStyleAttributedName: paraStyle, NSFontAttributedName: [NSFont systemFontOfSize: 13]};
 myPoint.x = cellFrame.origin.x;
 myPoint.y = cellFrame.origin.y;
 [myString drawAtPoint: thePoint withAttributes: textAttributes];

这不起作用。我也尝试过使用NSAttributedString。

 NSMutableAttributedString *attMyString = [NSMutableAttributedString alloc] initWithString: myString];
 [attMyString setAttributes: textAttributes range: NSMakeRange(0, [attMyString lenght])];
 [attMyString drawAtPoint: thePoint];

任何建议将不胜感激。

同样,我可以更改字体大小和颜色,以便所有内容都正确链接 - 我无法正确对齐。

谢谢。

1 个答案:

答案 0 :(得分:0)

thePoint位于单元格的左侧,因此drawAtPoint将在单元格的左侧绘制。 drawInRect将做你想要的。