美文网首页iOS学习
modal 控制器切换,完成页面跳转

modal 控制器切换,完成页面跳转

作者: 木木小林酱 | 来源:发表于2016-03-02 21:02 被阅读804次

除了push之外,还有另外一种控制器的切换方式,那就是Modal

任何控制器都能通过Modal的形式展示出来

Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止

以Modal的形式展示控制器

- (void)presentViewController:(UIViewController*)viewControllerToPresent animated: (BOOL)flag completion:(void(^)(void))completion

关闭当初Modal出来的控制器

- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void(^)(void))completion;

实现原理:

- (IBAction)modal:(id)sender {

//当一个控制器被销毁的时候,控制器的View是可以存在的.

//当一个控制器被销毁的时候,控制器View上所有的业务逻辑都不能够处理.

TwoViewController*twoVC = [[TwoViewControlleralloc]init];

self.twoVC= twoVC;

//modal出来的View添加在窗口上面,把之前的根控制器的View移除

//[self presentViewController:twoVC animated:YES completion:^{

// modal完成是调用

//}];

//手动实现modal效果

//0.获取主窗口

UIWindow*keyWindow = [UIApplicationsharedApplication].keyWindow;

//1.把modal出来的控制器添加到窗口上.

[keyWindowaddSubview:twoVC.view];

//2.从下往上钻的动画,先把控制器的View的Y值设为屏幕的高度,一开始看不到的状态

CGRectframe = twoVC.view.frame;

frame.origin.y= [UIScreenmainScreen].bounds.size.height;

twoVC.view.frame= frame;

//再通过一动画效果把Y值设为0.就有一种往上钻的动画了.

[UIViewanimateWithDuration:0.5animations:^{

CGRectframe = twoVC.view.frame;

frame.origin.y=0;

twoVC.view.frame= frame;

}completion:^(BOOLfinished) {

[self.viewremoveFromSuperview];//显示twoVC后移除oneVC中的view,是移除view控制器还在,view也还在,只是不显示,同pop移除方法

}];

}

相关文章

  • modal 控制器切换,完成页面跳转

    除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展示出来 Mo...

  • 获取跟控制器

    自定义控件里如何拿到导航控制器进行页面跳转? (2)如果通过modal出来的控制器并且用UITabBarContr...

  • 13-UI进阶(事件处理)

    控制器的切换方式——Modal 任何控制器都能通过Modal的形式展示出来 Modal的默认效果:新控制器从屏幕的...

  • Modal

    Modal 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展...

  • 一个关于Modal跳转的小知识点

    关于使用Modal(模态)跳转的样式设置 1.在即将跳转的页面创建好即将显示界面的控制器后,平时我们是直接执行 2...

  • iOS动画指南 - 6.可以很酷的转场动画

    在iOS开发中,界面间的跳转其实也就是控制器的跳转,跳转有很多种,最常用的有push,modal. modal:任...

  • iOS之modal(模态)

    一、简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式...

  • ionic创建modal页面

    点击性别跳转到性别选择modal页面 1. 创建性别选择modal 页面 2. 在app.module.ts中注册...

  • 微信内页面跳转无效

    页面在微信中打开,页面频繁切换跳转无效。为了防止页面频繁切换跳转无效,跳转的链接需要加上“?”,如:http://...

  • 界面跳转

    模态跳转(Modal)普通的视图控制器一般只有模态跳转的功能,这个方法是所有视图控制器对象都可以用的。 一般跳转前...

网友评论

    本文标题:modal 控制器切换,完成页面跳转

    本文链接:https://www.haomeiwen.com/subject/nmvnkttx.html