带列的 NSMenuItem setTitle
NSMenuItem setTitle with columns
我想设置一个像
这样的标题
姓名:________Rank:
blbalb_______5
aksjdnaas____6
123123123..._7
q____________8
假设 _
= 空白
可能吗?
如果可以,有人可以指导我怎么做吗?
我试过这样做
- (NSString *)getFromatedAppDescription
{
// NSMutableString * formatedString = [[NSMutableString alloc]init];
NSString * name = _userName;
if ([name length] > MAX_NAME_LENGTH)
{
name = [NSString stringWithFormat:@"%@...",[name substringToIndex: MAX_NAME_LENGTH - 3]];//Truncate Tail
}
return [NSString stringWithFormat:@"%-15s %d",[name UTF8String],_rank];
}
但是失败了:(
编辑:
我通过创建 NSView
并在其中添加 NSTextFields
解决了它,但我最终得到了 5 NSTExtFields
我怀疑这是一个低效的解决方案 :-( 我仍然希望看到来自这里的人的一些提示,因为我渴望尽可能地提高性能
您可以通过将文本字体设置为等宽字体来实现此目的,请参阅维基百科上的 Monospaced font。
您可以使用 NSMenuItem
的 attributedTitle
(NSAttributedString*
) 并使用 NSTextTab
属性设置右对齐或小数点对齐的制表位 NSMutableParagraphStyle
的 attributedTitle
(并且只需在标签和 attributedTitle
的字符串中的值之间添加一个制表符)。
我想设置一个像
这样的标题姓名:________Rank:
blbalb_______5
aksjdnaas____6
123123123..._7
q____________8
假设 _
= 空白
可能吗? 如果可以,有人可以指导我怎么做吗?
我试过这样做
- (NSString *)getFromatedAppDescription
{
// NSMutableString * formatedString = [[NSMutableString alloc]init];
NSString * name = _userName;
if ([name length] > MAX_NAME_LENGTH)
{
name = [NSString stringWithFormat:@"%@...",[name substringToIndex: MAX_NAME_LENGTH - 3]];//Truncate Tail
}
return [NSString stringWithFormat:@"%-15s %d",[name UTF8String],_rank];
}
但是失败了:(
编辑:
我通过创建 NSView
并在其中添加 NSTextFields
解决了它,但我最终得到了 5 NSTExtFields
我怀疑这是一个低效的解决方案 :-( 我仍然希望看到来自这里的人的一些提示,因为我渴望尽可能地提高性能
您可以通过将文本字体设置为等宽字体来实现此目的,请参阅维基百科上的 Monospaced font。
您可以使用 NSMenuItem
的 attributedTitle
(NSAttributedString*
) 并使用 NSTextTab
属性设置右对齐或小数点对齐的制表位 NSMutableParagraphStyle
的 attributedTitle
(并且只需在标签和 attributedTitle
的字符串中的值之间添加一个制表符)。