作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我以编程方式创建了一个 NSPopUpButton,并为我的选择创建了一个数组,如何为每个单独的数组选择创建一个 setAction?谢谢!
NSRect buttonRect = NSMakeRect(1705, 145, 78, 50);
//Button Array. When I pick the choice it closes the diologue box
NSArray *newArray;
NSString *color1 = @"Blue Color";
NSString *color2 = @"Green Color";
NSString *color3 = @"Clear Color";
newArray = [NSArray arrayWithObjects: color1, color2, color3, nil];
NSPopUpButton *button = [[NSPopUpButton alloc] initWithFrame:buttonRect pullsDown:YES];
[self addSubview:button];
[button addItemsWithTitles:newArray];
//want my action for each individual string
[button setAction:@selector(changeFilterColor)];
-(void) changeFilterColor
{
NSLog(@"colorChanged");
}
最佳答案
您需要添加 NSMenuDelegate
接口(interface)协议(protocol)(.h 文件):
@interface MyClass : NSObject <NSMenuDelegate>
然后:
[[button menu]setDelegate:self];
创建NSPopUpButton
之后。另外,删除带有 setAction:
的行。
复制此委托(delegate)方法:
-(void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item
{
if ([item.title isEqualToString:@"Blue Color"]) { ... } //etc
}
添加必要的 if 语句来完成比较。
关于objective-c - 设置 PopUpButton 的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10158376/
我以编程方式创建了一个 NSPopUpButton,并为我的选择创建了一个数组,如何为每个单独的数组选择创建一个 setAction?谢谢! NSRect buttonRect = NSMakeRec
我使用以下代码以编程方式创建了 NSPopUpButton [myPopUpButton insertItemWithTitle:@"--Select one--" atIndex:0]; [myPo
我是一名优秀的程序员,十分优秀!