2013-07-18 36 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,两者之间存在巨大差异 –