Modal

作者: iOS_Cqlee | 来源:发表于2015-10-04 00:41 被阅读174次

    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];  }];}

    相关文章

      网友评论

        本文标题:Modal

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