2015-09-28 86 views
1

我想設置一個標題像NSMenuItem用的setTitle列

名稱:________等級:

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我懷疑這是效率低下的解決方案:-(我仍然希望看到一些人的一些提示,因爲我渴望儘可能提高性能

+0

代碼看起來不錯,你有什麼? –

+0

嗯字符有不同的寬度:-(字符我是約2像素,而字符5 :-( – ColdSteel

+0

我解決了它通過創建'NSView'並添加那裏'NSTextFields'但我結束了5'NSTExtFields'我懷疑它是效率低下的解決方案:-( 我仍然希望看到一些來自這裏的人的提示,因爲我渴望儘可能提高性能 – ColdSteel

回答

1

您可以通過將文本的字體設置爲等寬字體來實現此目的,請參閱Wikipedia上的Monospaced font

+0

偉大的一個!!謝謝你:-) – ColdSteel

+0

不客氣:) –

2

可以使用attributedTitleNSAttributedString*)的NSMenuItem和使用上的NSMutableParagraphStyleNSTextTab屬性設置右手或小數點對齊製表位的attributedTitle(和只添加標籤,並在值之間的標籤字符串attributedTitle)。

+0

謝謝,這工作後,我也設置'defaultTabInterval'上'NSMutableParagraphStyle' – Andrew