将UINavigationController转换为图像可使UINavigationBar半透明

时间:2018-11-22 06:49:59

标签: ios swift

我想将我的UINavigationController转换为图像,但是UINavigationBar变成半透明的。这是默认的UINavigationBar,我认为模糊效果不是很好。

这是我用来制作图像的扩展名。

extension UIView {

    func asImage() -> UIImage? {
        UIGraphicsBeginImageContextWithOptions(bounds.size, isOpaque, 0.0)
        defer { UIGraphicsEndImageContext() }
        if let context = UIGraphicsGetCurrentContext() {
            layer.render(in: context)
            let image = UIGraphicsGetImageFromCurrentImageContext()
            return image
        }
        return nil
    }
}

并做到了。

navigationController?.view.asImage()

如何获取真实图像?

截屏: Screenshot

转换后的图像: Converted Image

代码:https://github.com/taoshotaro/NavBarImage

1 个答案:

答案 0 :(得分:0)

问题似乎是导航栏是半透明的。如果转到情节提要,请在UINavigationController中选择导航栏,然后在“属性”检查器中取消选中“半透明”属性,该图像应根据需要呈现。