2013-05-09 24 views
0

我有一个按钮,它调用功能togglemenuself.navigationController。它正常工作。如何将该按钮动作作为直接命令

[btnMenu addTarget:self.navigationController action:@selector(toggleMenu) forControlEvents:UIControlEventTouchUpInside]; 

我怎样才能把它作为一个直接的命令?像:

[self.navigationController toggleMenu]; // Not working 
+0

你是什么意思, “不工作”?发生了什么? – rdelmar 2013-05-09 05:09:32

+0

如果您导入导航控制器子类,则直接调用它将会起作用,并且会像Sumit Mundra在其答案中所说的那样将self.navigationController投射到该类。 – rdelmar 2013-05-09 05:39:36

回答

2

试试这个,

[self.navigationController performSelector:@selector(toggleMenu)]; 
-2

只是你必须使用[self toggleMenu];的方法调用

+0

它不可能,因为它是我自定义的self.navigationController类中的一个函数。 – 2013-05-09 05:06:45

+0

'MyViewController'没有可见的@interface声明选择器'toggleMenu.' – 2013-05-09 05:07:56

1

你有两种方法来做到这一点

1) [self.navigationController performSelector:@selector(toggleMenu)]; 

2) get your customenavigtion contoller class instanse and call this method 

NavigationViewController *navigationController = (NavigationViewController *)self.navigationController; 
    [navigationController toggleMenu];