2013-05-09 61 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];