iOS10.0以下版本出现“白屏”

这近在开发项目中遇到奇怪的问题,测试说我的安装包安装时出现白屏了,可以加载网络,就是显示不出来UI,由于在开发中使用模拟器和自己的手机并没有出现这种白屏问题,遇到问题还是很懵的,拿测试手机在Xcode上调试,一切运行正常,就是不显示UI,于是想到是不是手机版本问题,测试手机是iOS9.3的系统,我的是10.3,这很大可能就是系统版本导致在两个手机上运行结果不一样,但是是什么原因导致运行结果不一样呢,是哪部分代码不兼容了,陷入了沉思,想了很久也没想出头绪。
于是我搭了测试项目,从三级控制器开始调试,结果一下中奖,因为项目中的tabBar是有弧角的,所以要用自定义图片,这个不影响白屏,影响的是自定义tabBar要带阴影效果,于是给UIImageView加了阴影:
imageView.layer.shadowColor = RGB(19, 30, 36).CGColor;
        imageView.layer.shadowOffset = CGSizeMake(0, 0);
        imageView.layer.shadowOpacity = 0.5;
        imageView.layer.shadowRadius = 10.0;

        CGRect rect = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
        UIGraphicsBeginImageContext(rect.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);
        CGContextFillRect(context, rect);
        UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        [self setBackgroundImage:img];
        [self setShadowImage:img];
问题就出在这段加阴影的代码上,iOS10.0以下,自定义tabBar加了阴影效果就出现白屏了,所以为了不影响项目也同时不影响设计,在这里加阴影时根据系统版本判断一下,iOS10.0以下版本就不要添加阴影功能了。自定义tabBar,添加imageView控件,控件高度大于tabBar高度时,在iOS10.0以上是不显示tabBar上的系统细线的,iOS10.0以下是显示系统细线,去细线代码:
[self.tabBar setShadowImage:[UIImage new]];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值