在 iOS 上弹出到特定控制器 |目标-c
Posted
技术标签:
【中文标题】在 iOS 上弹出到特定控制器 |目标-c【英文标题】:Pop to particular controller on iOS | Objective-c 【发布时间】:2016-06-09 16:42:27 【问题描述】:我有以下代码来推送新的 ViewController。
- (IBAction)btnEditPressed:(id)sender
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"contactListViewController"];
[self parentShowViewController:controller sender:sender];
- (void)parentShowViewController:(UIViewController *)controller sender:(id)sender
if ([self isios7])
// En iOS7 no existe el método showViewController
[self.navigationController pushViewController:controller animated:YES];
else
//[self.navigationController pushViewController:controller animated:YES];
[super showViewController:controller sender:sender];
现在我有以下场景:我有 3 个 ViewController,分别称为 A、B、C。
A->B->C 如果按返回键我想从C返回到A
【问题讨论】:
【参考方案1】:试试这样的
如果你想在控制器 C 上从控制器 C 转到控制器 A,创建自定义后退按钮并设置它的操作,并输入以下代码。
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];
这只有在你知道控制器 A 是你在 Navigation 中的第一个控制器时才有效。
如果你不知道viewController的顺序,试试这个
for (UIViewController *vc in self.navigationController.viewControllers)
if ([vc isKindOfClass:[ViewControllerA class]])
[self.navigationController popToViewController:VC animated:Yes];
要添加自定义按钮,请转到此link
希望这会对你有所帮助。
【讨论】:
如果您不知道如何在导航栏中添加自定义按钮,请告诉我。以上是关于在 iOS 上弹出到特定控制器 |目标-c的主要内容,如果未能解决你的问题,请参考以下文章
如何从 NSobject 类 iOS 在任何视图控制器类上弹出 MFMessageComposeViewController 对象