带有

时间:2015-09-28 01:57:32

标签: objective-c macos cocoa nsmenuitem

我想设置一个像

这样的标题

名称:________等级:

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我怀疑它是无效的解决方案:-(我还是希望看到一些提示来自这里的人,因为我渴望尽可能地提高性能

2 个答案:

答案 0 :(得分:2)

您可以使用attributedTitle的{​​{1}}(NSAttributedString*)并使用{{1}上的NSMenuItem属性设置右对齐或小数对齐制表位} NSTextTab(只需在标签和NSMutableParagraphStyle字符串中的值之间添加一个标签)。

答案 1 :(得分:1)

您可以通过将文字字体设置为等宽字体来实现此目的,请参阅维基百科上的Monospaced font