美文网首页
ios--解决navigationBar跳转右上角出现的黑色块阴

ios--解决navigationBar跳转右上角出现的黑色块阴

作者: 简鱼7819 | 来源:发表于2019-11-20 18:36 被阅读0次

    问题描述

    最近在练习swift时遇到的问题,继承UINavigationController自定义,使用UINavigationController自带的navigationBar做标题栏,push时没问题,pop回来时右上角出现黑色阴影块。

    问题效果图gif

    问题原因

    由于控制器view默认是黑色,push到这个控制器时,而navigationBar默认是透明效果的,因此后面有一个黑色阴影一闪而过。

    解决办法

    给navigationBar设置BackgroundImage,填充颜色或者真正的图片

    1,填充颜色(swift代码示例)

    self.navigationBar.setBackgroundImage(imageWithColor(color: UIColor.white), for: UIBarMetrics.default)

    private func imageWithColor(color:UIColor) ->UIImage{

            letrect=CGRect(x:0, y:0, width:1, height:1);

            UIGraphicsBeginImageContext(rect.size);

            let context:CGContext = UIGraphicsGetCurrentContext()!;

            context.setFillColor(color.cgColor);

            context.fill(rect);

            let theImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!;

            UIGraphicsEndImageContext();

            return theImage;

     }

    2,填充图片,这个贼简单

    self.navigationBar.setBackgroundImage(UIImage(named: "nav_bg"), for: UIBarMetrics.default)

    遇到解决并记录!!

    相关文章

      网友评论

          本文标题:ios--解决navigationBar跳转右上角出现的黑色块阴

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