2012-07-05 106 views
0

我有一個拆分視圖的應用程序。在肖像模式下,菜單在被點擊後會消失。爲了解決這個問題,我添加了一個新的按鈕,它只是顯示菜單:UIBarButton initWithTitle

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // FORM LIST button was dissapearing, this adds it back everytime 
    UIBarButtonItem *btnMenu = [[UIBarButtonItem alloc]initWithTitle:@"Forms List" style:UIBarButtonItemStyleBordered target:self action:@selector(showMenu:)]; 
    self.navigationItem.leftBarButtonItem = btnMenu; 

} 

每當我加載該視圖時出現。我的問題是,我得到一個錯誤:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DetailViewController showMenu:]: unrecognized selector sent to instance 0x9d58810 

我敢肯定,問題是這一行:

UIBarButtonItem *btnMenu = [[UIBarButtonItem alloc]initWithTitle:@"Forms List" style:UIBarButtonItemStyleBordered target:self action:@selector(showMenu:)]; 

我的問題是: (1)showMenu:適當的方法? (2)目標應該是什麼?

謝謝。

+0

您的問題是你的地方叫showMenu:在DetailViewController但這DetailViewController沒有showMenu:方法 – Pfitz 2012-07-05 18:30:29

+0

我不顯式調用showMenu其他地方。我認爲這是一種內置的方法?我對我的菜單如何顯示在第一位有點困惑 – BloonsTowerDefence 2012-07-05 18:33:18

+0

如果你沒有showMenu:方法,你發現你的問題;) – Pfitz 2012-07-05 18:35:38

回答

0

感謝在座的各位,我發現我的代碼多個問題。

(1)我想showMenu是一個內置的功能,也沒有在我的程序中聲明的任何地方。

(2)我不知道自己的目標或行動是如何工作的。

感謝球員(女孩?)!

0

確保你的方法有一個參數

- (void)showMenu:(id)sender 
- (IBAction)showMenu:(id)sender 

如果沒有參數,所以如果它只是-(void)showMenu,那麼你應該從@selector(showMenu:)刪除:(冒號)。

當您從實際視圖中呼叫showMenu(即Main View)時,showMenu方法應該在您的Main View的某個位置聲明。