阴影图像不适用于第一个viewWillAppear

时间:2017-07-11 08:35:11

标签: ios swift uinavigationcontroller uinavigationbar

我正在尝试在导航栏和内容之间实现分隔线。我发现了一个UIImage扩展,它创建了一个带有颜色的图像。

    extension UIImage {
    class func imageWithColor(color: UIColor) -> UIImage {
        let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 0.5)
        UIGraphicsBeginImageContextWithOptions(rect.size, false, 0.0)
        color.setFill()
        UIRectFill(rect)
        let image : UIImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return image
    }
}

我把它放在viewWillAppear中:

navigationController?.navigationBar.shadowImage = UIImage.imageWithColor(color: constants.lightBlue)

如果我单击我的集合视图中的条目并返回初始视图控制器,这很有效。但是,它不会在应用程序的第一次启动时加载。

1 个答案:

答案 0 :(得分:0)

为什么不用backgroundColor创建简单的UIView?您可以按帧或约束放置它,它应该可以正常工作。

我的意思是,您甚至可以在Storyboard中创建它,并且根本不使用代码