zoukankan      html  css  js  c++  java
  • iOS pushViewController 和 presentViewController的区别 详解

    pushViewController 导航控制器入栈的方式切换页面
    presentViewController 模态切换的方式切换页面

    1:用 UINavigationController 的时候用 pushViewController:animated
         返回之前的视图 [[self navigationController] popViewControllerAnimated:YES];
         push 以后会在 navigation的 left bar自动添加back按钮,它的响应方法就是返回,所以一般不需要写返回方法,点back按钮即可

    2:其他时候用presentModalViewController:animated

        [self presentViewController:a animated:YES completion:^{

            AMLog("打开Controller-A 页面");

        }];


     返回之前的视图 :

        [self dismissViewControllerAnimated:YES completion:^{

            AMLog("关闭当前Conrtroller ");

        }];

    3:切换视图一般用不到 addSubview
    UINavigationController是导航控制器,如果pushViewController的话,会跳转到下一个ViewController,点返回会回到现在这个ViewController;
    如果是addSubview的话,其实还是对当前的ViewController操作,只是在当前视图上面又“盖”住了一层视图,其实原来的画面在下面呢,看不到而已。(当然,也可以用insertSubView atIndex那个方法设置放置的层次)。

    案例 :
    使用 presentViewController 方法从 A -> B -> C,若想在 C 中直接返回 A,则可这样实现

    C中返回事件 :
    - (void)back  
    {

        [self dismissViewControllerAnimated:NO completion:^{

            AMLog("关闭当前Conrtroller ");

        }]; // 注意一定是NO

        [[NSNotificationCenter  defaultCenter]postNotificationName:@"backback" object:nil];  
    }

    然后在B中 :
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(back) name:@"backback" object:nil];  

    -(void)back  
    {  

     [self dismissViewControllerAnimated:NO completion:^{

        AMLog("关闭当前Conrtroller ");

     }];

    }

    下面是执行顺序:

    push:

    present:

  • 相关阅读:
    WordPress Contact Form插件‘cntctfrm_contact_emai’参数跨站脚本漏洞
    WordPress Pretty Link插件跨站脚本漏洞
    WordPress Responsive Logo Slideshow插件多个HTML注入漏洞
    WordPress Mingle Forum插件多个SQL注入漏洞
    WordPress Car Demon插件多个HTML注入漏洞
    WordPress Marekkis Watermark 跨站脚本漏洞
    WordPress Mingle Forum插件跨站脚本漏洞
    WordPress Contact Form插件‘contact_form.php’跨站脚本漏洞
    WordPress WPTable Reloaded插件 ‘id’参数跨站脚本漏洞
    遇到困难沟通一下
  • 原文地址:https://www.cnblogs.com/jiuyi/p/11558137.html
Copyright © 2011-2022 走看看