美文网首页iOS开发遇到的问题
UITabBarController弹出透明模态视图的问题

UITabBarController弹出透明模态视图的问题

作者: Vincent_zhou | 来源:发表于2016-06-03 10:32 被阅读1210次

应用要求:底层是tabbarController,tabbar中的controller是navigationController,弹出一个透明的模态视图遮住全屏幕,包括底部的tabbar和顶部的navigationBar,按照http://www.jianshu.com/p/bf3325111fe5的解决方案可以解决遮挡navigationBar的问题,

代码为:

self.tabBarController.definesPresentationContext = YES;

segue.destinationViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext;

但是上述代码不能解决遮挡tabbar的问题,根据http://siroccoicode.club/?p=209的思路,我结合了上述两个作者的方案,最终解决代码如下:

AppDelegate *appdelegate=(AppDelegate*)[[UIApplication sharedApplication] delegate];

UIViewController *view = [[UIViewController alloc]init];

appdelegate.window.rootViewController.definesPresentationContext = YES;

view.modalPresentationStyle = UIModalPresentationOverCurrentContext;

[appdelegate.window.rootViewController presentViewController:view animated:YES completion:^{

view.view.backgroundColor=[UIColor colorWithRed:237/255.0 green:236/255.0 blue:244/255.0 alpha:0.5];

}];

就是利用AppDelagate获得一个rootController,在rootController上操作。在此分享给大家!

在此感谢上述两位作者提供的思路。

相关文章

网友评论

  • 猎奇人:感谢,就你这个方案对我来说最完美了
  • justNull:赞👍感谢你解决了我的问题

本文标题:UITabBarController弹出透明模态视图的问题

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