我已经使用以下代码以编程方式创建了NSPopUpButton
[myPopUpButton insertItemWithTitle:@"--Select one--" atIndex:0];
[myPopUpButton addItemsWithTitles:[NSArray arrayWithObjects:@"1.One",@"Two",@"Three", nil]];
[myPopUpButton sizeToFit];
[myPopUpButton setAction:@selector(popUpAction:)];
[fullBrowserView addSubview: myPopUpButton];
//PopUp Action
-(void)popUpAction:(id)sender
{
NSLog(@"popUpAction");
}
当我单击popUpButton时,popUpButton的菜单项被禁用。
当我使用interfacebuilder时,它可以与IBAction一起正常工作。
为什么此setAction不适用于NSPopUpButton?
最佳答案
好像您没有设置目标对象来发送消息。因此,在代码中添加:
[myPopUpButton setTarget:self];
假设popUpAction:
方法在同一类中。使用Interface Builder时,它会将选择器 Action 连接到目标。
从此调用的文档中:
在您的情况下,没有对象响应该消息。