Ios 在没有UINavigationController和后退按钮的情况下从推式视图返回,是否可能?
我有一个Ios 在没有UINavigationController和后退按钮的情况下从推式视图返回,是否可能?,ios,iphone,objective-c,cocoa-touch,uitableview,Ios,Iphone,Objective C,Cocoa Touch,Uitableview,我有一个ViewController,例如startingScreenViewController。我有一个从这个视图上的一个项目到另一个视图(someViewController)的推送序列,这是一个ViewController,其中有一个TableView(当然不是TableViewController)。现在,在没有后退按钮的情况下,我想通过点击表格视图中的单元格返回到第一个视图。我已经写给我的手机代表: -(void) tableView:(UITableView *)tableView
ViewController
,例如startingScreenViewController
。我有一个从这个视图上的一个项目到另一个视图(someViewController
)的推送序列,这是一个ViewController
,其中有一个TableView
(当然不是TableViewController
)。现在,在没有后退按钮的情况下,我想通过点击表格视图中的单元格返回到第一个视图。我已经写给我的手机代表:
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
}
我试着用
[self.navigationController popViewControllerAnimated:YES];
很明显,它不起作用,因为我没有navigationController
。我甚至试着回到启动ScreenViewController
,这是一件愚蠢的事情,而且也不起作用
我需要一些帮助,建议将不胜感激。我不知道在没有
UINavigationController
的情况下,如何使用push segue打开someViewController
,但如果它起作用,请尝试使用以下代码:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[self dismissViewControllerAnimated:YES completion:nil];
}
当然,检查一下,是否是
表视图的视图控制器
代理
简而言之,当您没有导航控制器时,不要使用推送序列。这根本不应该起作用,而它起作用的事实是一个意外。不能保证它将来会继续工作
使用模态presentViewController:animated:completion调用,使用相应的调用将其关闭。感谢您的快速响应,我也完成了。什么也没发生。单元格高亮显示(在模拟器中),您仍然可以在表格视图中上下滚动:(你有没有检查你是否是
UITableView
的代理
?是的,我也这样做了。事实上,现在我试着推了几次单元格,在推了4次之后,成功了!!我还试着跳回根视图,它把我带到了我的应用程序的第一页。有没有办法可以打开NavigationController的堆栈,我不知道。)可能会跳到第二个?如果解除了ViewControlleranimated:
的功能,你没有导航控制器,这是模态序列,我猜你是最新的,我没有导航控制器,但我能够在导航控制器中加载视图数组,然后跳到我想要的视图。谢谢。我已经检查了测试项目中,如果您尝试在不使用UINavigationController
的情况下执行推送序列,您的应用程序将因错误而崩溃:“推送序列只能在源控制器由UINavigationController
的实例管理时使用”。因此,您要么使用UINavigationController
,要么不是推送序列