2014-10-16 165 views
0

我想要一个动态子菜单。现在我尝试了这种方式:子菜单项不可点击

@interface AppController() 
@property(strong) Accounts * accView; 
@property (weak) IBOutlet NSMenuItem *serverMenu; 
@end 

@implementation AppController 

-(void)awakeFromNib { 
    _accView = [[Accounts alloc] initWithNibName:@"Accounts" bundle:nil]; 
    [self.viewk addSubview:[_accView view]]; 
    [[_accView view] setFrame:self.viewk.bounds]; 

    NSMenuItem * testItem = [[NSMenuItem alloc] initWithTitle:@"Test" action:@selector(test:) keyEquivalent:@""]; 

    [[_serverMenu submenu] addItem:testItem]; 

} 

- (void)test:(id)test { 

} 

然后它被添加,但我不能点击它。它是这样的:

enter image description here

如何启用它?

回答

1

你还需要一个目标分配给您的NSMenuItem,像

[testItem setTarget:self]; 
+0

感谢您SOOO多。我在文档中看到了像这样的validateMenuItem:我需要实现这个吗? – user1007522 2014-10-16 14:06:37

+0

'-validateMenuItem:'是可选的,如果菜单项需要根据某些条件动态启用/禁用,则只需要它。 – 2014-10-17 04:26:43