版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
通过‘小面包’分析系统自带Modal可以得出:
Modal出来控制器的View视图是添加到UIWindow上
因此若自定义Modal效果控制器,只需把自定义modal控制器的view添加到window上,同时把当前的view移除,然后添加个相应动画模拟完成。
UIModalViewController *modalVc = [[UIModalViewController alloc] init];
self.modalVc = modalVc;//必须强引用着,不能被销毁
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
[keyWindow addSubview: modalVc.view];
[UIView animateWithDuration:0.25 animations:^{
modalVc.view.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
[self.view removeFromSuperview];
}];