我使用以下命令以编程方式创建NSPopupButton:
...
NSPopUpButton *accessoryView = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0, 0, 100, 24) pullsDown:YES];
NSFont *aFont = [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSSmallControlSize]];
[accessoryView setBezelStyle:NSRecessedBezelStyle];
[accessoryView setFont:aFont];
[accessoryView setShowsBorderOnlyWhileMouseInside:YES];
[accessoryView setAutoresizingMask:NSViewMaxXMargin | NSViewMinYMargin];
NSArray *popupItems = [[NSArray alloc] initWithObjects:@"Your Account", @"Sign In", @"Create Account", nil];
[accessoryView addItemsWithTitles:popupItems];
...
现在,当我将NSPopUpButton添加到我的视图中时,我最终得到的按钮文本与用于下拉菜单的图标重叠。我以前在使用NSControl时看到过这个:setAlignment但我在这里没有使用它。这是输出:
谁能看到我做错了什么?
小心,
杰里米
答案 0 :(得分:0)
恰巧这是一个简单的修复。 (感谢irel.freenode.net上的Beelsebob!)基本上,您需要拥有以下代码:
[[accessoryView cell] setArrowPosition:NSPopUpArrowAtBottom];
在某处。 (我在行下面添加了它以添加菜单项。)之前几次我已经阅读了此调用的API文档,因为我使用NSPopUpNoArrow值实现了相同的调用以删除箭头作为临时修订,但它没有说明上面使用的正确值会做它正在做的事情。问题解决了。