嗨我有一个带有容器的视图控制器,并且在容器中有一个带有集合视图的子视图,当用户点击集合视图单元时它将我发送给详细视图控制器,但现在我要做的是添加一个返回我的详细视图控制器中的按钮,它将我发送到parentViewController
答案 0 :(得分:3)
案例1 :放松争论
根据您的具体情况,这将是完美的:
Unwind Segues为您提供了一种“展开”导航堆栈并指定要返回的目的地的方法。
案例2 :PopToRootViewController
如果您的父视图也是您的根视图控制器,那么您可以使用popToRootViewControllerAnimated:YES
轻松返回。
创建自己的后退按钮,使用方法backButtonTouch
将其添加到导航栏。
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back", nil) style:UIBarButtonItemStyleDone target:self action:@selector(backButtonTouch:)];
将以上代码添加到viewDidLoad
。
-(void)backButtonTouch:(id)sender{
[self.navigationController popToRootViewControllerAnimated:YES];
}
答案 1 :(得分:0)
如果要自定义后退按钮,请先隐藏导航栏
[self.navigationController setNavigationBarHidden:YES];
现在添加一个按钮,并创建其touchUpInside事件,在该事件中弹出控制器
[self.navigationController popViewControllerAnimated:YES];
答案 2 :(得分:0)
在后退按钮操作中,添加以下行:
$this.parent("#fullTable").load("list.php");
这会将您转移到[self.navigationController popToRootViewControllerAnimated:YES];
。
答案 3 :(得分:0)
这是我回到父视图控制器的代码
- (IBAction)ActionbtnBack:(id)sender {
int flag = 0;
for (UIViewController *controller in [[self.navigationController.viewControllers reverseObjectEnumerator] allObjects]) {
NSLog(@"> %@",[controller class]);
if ([controller isKindOfClass:[YourParentviewcontroller class]]) {
flag=1;
[self.navigationController popToViewController:controller
animated:YES];
break;
}
else if ([controller isKindOfClass:[YourParentviewcontroller class]]) {
flag=1;
[self.navigationController popToViewController:controller
animated:YES];
break;
}
}
if (flag == 0) {
YourParentviewcontroller *MoreVc = [[YourParentviewcontroller alloc] initWithNibName:@"parentViewcontrollerIdentifier" bundle:nil];
[self.navigationController pushViewController:MoreVc animated:YES];
}
}