这个应用程序是我的第一个使用UITableView的应用程序,我遇到了为什么要尝试添加详细信息视图的问题。 (因为我在第一次创建应用程序时将我的应用程序设置为“基于视图的应用程序”,我必须手动执行此操作)。
这是表格视图didSelectRowAtIndexPath:
的代码:
detail = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle: [NSBundle mainBundle]];
detail.delegate = self;
detail.dtitle = [titles objectAtIndex: indexPath.row];
detail.dusername = [usernames objectAtIndex: indexPath.row];
detail.dpassword = [passwords objectAtIndex: indexPath.row];
[self.navigationController pushViewController: detail animated:YES];
//[self presentViewController:detail animated:NO completion:nil];
倒数第二行是造成问题的一行。我从我制作的空白“主 - 细节应用程序”中复制了它,但它似乎在这个应用程序中不像在另一个应用程序中那样工作。注释掉的线是我一直在使用它的地方,但不完全是我想要的。
我该怎么做才能解决这个问题?
其次,在DetailViewController
中,我的标题栏中的后退按钮(确切地说是导航栏的导航项)将不会出现。是否有代码我必须添加以表明此视图是从属视图还是其他什么?
答案 0 :(得分:1)
为了使用导航控制器推送另一个视图控制器,实际上需要一个导航控制器。导航控制器中的“自我”?
如果没有,请创建一个导航控制器,将其根视图控制器设置为第一个视图控制器。如果第一个视图控制器是您的应用程序的根视图控制器,现在将导航控制器改为根视图控制器。
一旦到位,您可以拨打[self.navigationController pushViewController: detail animated:YES];
。