2015-02-06 47 views
0

在我的应用程序中,我有一个NSCombobox显示项目列表。 我的问题是,所有这些项目总是对齐到左侧,我需要最后一项保持中心对齐。我知道在界面生成器中用户可以设置对齐方式,但是,只对齐某些项目呢?我如何正确实现这一点?Cocoa osx NSCombobox对齐项目中心

enter image description here

对不起,我英文不好。提前致谢。

回答

0

最后我解决这样的:

- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index 
{ 

//RETURN THIS AT CONCRETE INDEX 

NSMutableAttributedString *text; 
text = [[NSMutableAttributedString alloc]initWithString:@myText; 
NSFont *font = [NSFont fontWithName:@"MyFont" size:16]; 
[text addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, text.length)]; 

[text addAttribute:NSForegroundColorAttributeName value:[NSColor blackColor] range:NSMakeRange(0, text.length)]; 

//add alignment 
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
[paragraphStyle setAlignment:NSCenterTextAlignment]; 
[text addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, text.length)]; 

return text; 
}  
1

据我所知,它可能但不能通过IB。您需要以编程方式创建NSMenu并为其添加视图。这些视图应该有中心对齐的标签。

这比内存更重的一个简单的菜单,所以我建议你不要,除非它不用于所有下拉菜单。

+0

您可以发布任何例子或链接? – user3065901 2015-02-09 09:10:27