iOS模态返回问题

许多时候有这样的需求:

由A模态跳转到B  再由B模态到C 然后 从C返回到A

这个时候可以使用下面的方法,如果是B->A那么直接使用正常的方法就好

//模态 A -> B -> C 然后执行 C -> A 这时 使用下面的方法
    //内部机制:入栈上一层消失,本层自动消失
    UIViewController *rootVC = self.presentingViewController;
    while (rootVC.presentingViewController) {
        rootVC = rootVC.presentingViewController;
    }
    [rootVC dismissViewControllerAnimated:YES completion:nil];

这就是返回的方法

时间: 2024-08-05 08:09:17

iOS模态返回问题的相关文章

ios NSClassFromString 返回空指针

今天新建了一个 iOS 新工程,用到了 NSClassFromString 方法创建类, 无奈总是返回空指针. 花了一下午时间检查代码是否有写错,配置是否有问题,搜索这个问题该怎么解决.无奈都没有什么理想的结论.到了晚上的时候看到一个帖子说 other link flags 里面增加-all_load 属性.我一想,这不靠谱啊. 我以前都没有用过这个属性.我又想到这个工程是新建的,是不是这里面少了什么配置.比较了下以前的工程.增加了-ObjC 这个属性, 再跑一下,成功创建了. 在这里我把这个解

IOS让返回按钮显示自定义标题而不是上个ViewController的title

在开发IOS的时候发现当从一个ViewController跳转到另一个ViewController时,被跳转到的那个ViewController的返回按钮总是显示的是上个ViewController的title.如果上个ViewController的title内容比较多的话会显得界面比较乱,所以我想要实现的是返回按钮只显示“Back”. 开发环境: IOS:10 Xcode:8 返回按钮的显示逻辑 想要知道怎么实现自己想要的功能首先要掌握相关的理论知识,下面举个例子说明. 假如从ViewCont

iOS 模态视图转场的动画效果

ModalViewController * modalView = [[ModalViewController alloc]init]; modalView.modalTransitionStyle = UIModalTransitionStyleCoverVertical; // [self presentModalViewController:modalView animated:YES]; ios 6 弃用了该方法 [self presentViewController:modalView

截取iOS系统返回事件

当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然是 pop 返回上一个界面,但是如果我们想要在横屏点击返回按钮的时候是返回竖屏模式,而不是 pop 到上一界面,这该怎么实现呢? 注意:我们要的不是获取点击返回按钮的时机,而是想要拦截点击返回按钮的 pop 操作,使我们可以进行选择性的 pop,而不是必然的 pop. 下面一步步来解决这个问题. 一

iOS 自定义返回按钮,保留系统滑动返回

原文链接 自定义返回按钮保留系统滑动返回手势.gif 1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使用导航栏push出一个控制器,我们在控制器中自定义了一个返回按钮.这样系统默认的滑动返回手势效果就没有了. 2.解决方法 [1]从A这个控制器push到B这个控制器,我们想要自定义B的返回按钮,我们可以在A中设置 self.navigationItem.backBarButtonItem = [[U

xcode8 iOS函数返回值使用警告

没有使用返回值时, 警告 swift: @warn_unused_result func doSomething() -> Bool { return true } OC: - (BOOL)doSomething __attribute__((warn_unused_result)) { return YES; } 没有使用返回值时, 不警告 swift: @discardableResult func doSomething() -> Bool { return true } OC: To

iOS开发——返回特定的控制器

用导航控制器返回到上一页和返回到根控制器有其自带方法. 返回到特定的控制器的核心代码: popToViewController用法 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];或(推荐下面这种,不受后期控制器数量影响)for (UIViewController *controller in self.

iOS模态视图

//模态视图(临时弹出使用)    GreenViewController *green=[[GreenViewController alloc] init];    green.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;        [self presentViewController:green animated:YES completion:nil]; -(void)buttonAction:(UIButton*

iOS “自定义返回按钮”与“系统侧滑”的组合使用

当我们使用自定义button进行popViewController,并将系统NavigationBar隐藏时, (self.navigationController.navigationBarHidden = YES;) NavigationBar的系统自带的侧滑手势便不存在了. 当然我们可以在当期视图上加滑动手势,但是容易出现bug,特别是视图中存在scrollview.tableview等视图. 下面看一种比较巧妙的方法,将 自定义backBtn 与 系统侧滑 组合到一起: - (void)