2013-07-18 43 views
2

我一直在閱讀教程,問題和答案在這裏(Stackoverflow),但我無法得到它。它不起作用,所以我一定錯過了一些東西。XCODE:從UITableView presentViewController不顯示回按鈕

情況是:從表格視圖中,一旦用戶選擇了一行,就會顯示一個帶有信息的新視圖。不是詳細視圖,我想嵌入導航控制器,但我不知道如何。

的代碼,我寫道:

... 
[tableView deselectRowAtIndexPath:indexPath animated:YES]; 


    UIViewController *viewController =nil; 

    switch (indexPath.section) { 
     case termaSection: 
      switch (indexPath.row) { 
       case 0:{ 
        viewController = [[TermasChavasqueira alloc]init]; 
        UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:viewController]; 
        UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" 
                        style:UIBarButtonItemStyleBordered 
                        target:nil 
                        action:nil]; 
        navController.navigationItem.backBarButtonItem = backButton; 
        [self presentViewController:navController animated:YES completion:nil]; 
        //[self presentViewController:viewController animated:YES completion:nil]; 
        break; 
       } 

       default: 
        break; 
      } 

     default: 
      break; 
    } 

我獲得TermasChavasqueira.xib是一個導航欄,沒有後退按鈕。命令[self presentViewController:viewController animated:YES completion:nil];可以很好地在Interface Builder上添加按鈕,但它是一個常規按鈕,而不是箭頭按鈕。

下一段代碼無法正常工作或:

[self.navigationController pushViewController:navController animated:YES]; 

你能幫助我嗎? 非常感謝。

回答

3

你不能用這種方式顯示典型的後掛。當您使用pusviewcontroller:方法顯示視圖控制器時,它會默認出現。

而不是這樣做,將UIToolBar添加到T ermasChavasqueira.xib並添加一個barbutton用於解散視圖。

寫的UIBarbutton喜歡的動作:

- (void)dismiss:(id)sender 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

如果您仍然需要使用UINavigationController變化:

navController.navigationItem.backBarButtonItem = backButton;

navController.navigationItem.leftBarButtonItem = backButton; 
+0

這就是我做什麼,我添加了一個導航欄有兩個按鈕(其中一人駁回視圖)和標題,以及UIToolBar打開另一個視圖。 – Luis

+0

@Luis:我說要添加UIToolbar而不是UINavigationbar,兩者之間存在巨大差異 –