Modal

Modal

除了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;

注意点

谁modal谁就强引用modal出来的控制器 如果一个控制器的view显示到屏幕上,这个控制器一定不能被销毁.

modal的底层实现

自己需要Modal出OneViewController的view

1.把OneViewController的view添加到窗口上,移除之前窗口上的viewUIWindow*keyWindow = [UIApplicationsharedApplication].keyWindow;[keyWindow addSubview:oneVc.view];

2.慢慢往上钻的动画//先设置形变oneVc.view.transform=CGAffineTransformMakeTranslation(0, keyWindow.bounds.size.height);[UIViewanimateWithDuration:0.5animations:^{// 还原形变oneVc.view.transform=CGAffineTransformIdentity;  } completion:^(BOOLfinished) {      [self.viewremoveFromSuperview];  }];}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展示出来 Mo...
    木木小林酱阅读 1,384评论 0 1
  • Modal 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展...
    翻这个墙阅读 660评论 0 0
  • 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标...
    VincentHK阅读 5,552评论 3 44
  • 需求:点击一个按钮,modal一个控制器出来,该控制器不完全覆盖控制器。展开方式:按钮处从上往下展开,要求不能使得...
    alige阅读 691评论 0 2
  • 切换控制器 模态 任何控制器都能通过modal的形式展示出来 新的控制器从屏幕底部往上钻 弹出的控制器和之前的控制...
    彼岸的黑色曼陀罗阅读 429评论 0 0

友情链接更多精彩内容