【发布时间】:2013-11-23 00:41:54
【问题描述】:
我有一个视图,用户可以在其中将数据添加到表中,并且可以从应用程序中的多个位置访问它。但是,当用户在此视图中按下按钮时,我希望他返回到特定视图,而不仅仅是他来自的任何视图。
我试图用谷歌搜索,但我发现没有一种方法有效。
据我了解,我需要先将所需的视图推送到堆栈,然后再弹出。但是当我这样做时,按下按钮时我得到的只是黑屏。
如何解决?
【问题讨论】:
标签: ios uinavigationcontroller
我有一个视图,用户可以在其中将数据添加到表中,并且可以从应用程序中的多个位置访问它。但是,当用户在此视图中按下按钮时,我希望他返回到特定视图,而不仅仅是他来自的任何视图。
我试图用谷歌搜索,但我发现没有一种方法有效。
据我了解,我需要先将所需的视图推送到堆栈,然后再弹出。但是当我这样做时,按下按钮时我得到的只是黑屏。
如何解决?
【问题讨论】:
标签: ios uinavigationcontroller
也许你可以试试这个:
-(void)popToSpecificViewController:(UIViewController *)controller
{
NSMutableArray *mutableVCArray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
[mutableVCArray insertObject:controller atIndex:mutableVCArray.count-1];
[self.navigationController setViewControllers:mutableVCArray animated:NO];
[self.navigationController popViewControllerAnimated:YES];
}
【讨论】:
您可以使用 segue 来推送该视图控制器,无论如何您都可以通过 xcode 使用 ctrl 并拖动到特定视图来创建 segue,或者您可以通过编程方式在您提到的按钮的 IBAction,如下所示:
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"DestinationController"];
[self.navigationController pushViewController:controller animated:YES];
【讨论】: