iOS viewController的推出方式 pop dismiss

在iOS中页面推出有两种方式推出页面

  1. popViewControllerAnimated
  2. dismissViewControllerAnimated

Pop

  • 只能用于navigationcontroller,
  • popViewControllerAnimated对应于pushViewController
  • push的页面才可以通过pop推出

Dismiss

  • 可以用于任意viewcontroller
  • dismissViewControllerAnimated对应于presentViewController
  • 使用present的页面可以通过dismiss推出

使用present推出页面的方式

present页面的代码如下:

ViewController * presentVC = [[ViewController alloc] init];
    [self presentViewController: presentVC animated:NO completion:^{
        NSLog(@"present");
    }];

如果想要设置present的动画效果,可以如下设置:

presentVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; //此处应当设置被present的页面而不是当前页面

查看代码可以知道present动画有如下四种:

typedef NS_ENUM(NSInteger, UIModalTransitionStyle) {
    UIModalTransitionStyleCoverVertical = 0,
    UIModalTransitionStyleFlipHorizontal __TVOS_PROHIBITED,
    UIModalTransitionStyleCrossDissolve,
    UIModalTransitionStylePartialCurl NS_ENUM_AVAILABLE_IOS(3_2) __TVOS_PROHIBITED,
};

默认第一种。
此外还有UIModalPresentationStyle,用法类似。
更多详细信息可参考苹果官方文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS中,使用ViewController进行页面跳转的方法有很多,之前总是想到哪用到哪,最近在review项目的...
    ac3阅读 18,572评论 2 60
  • 2017年8月32日 丁酉年闰六月十二 星期四 2016年10月30日始读经,系统读经39周第3天,系统读经276...
    菜问妈妈阅读 779评论 0 0
  • 妈妈私房菜 潜心研厨艺,希冀别离少。 多是寻常材,融爱烹佳肴。 最喜小儿女,欢乐绕膝跑。 难得平常心,年年春光好。
    梁子仗剑走天下阅读 572评论 1 6