在实际开发过程中,如果视图比较简单,我们可能会使用xib文件去创建一个视图,但是如果我们想要给它添加一个背景图的时候,就有一点为难了,因为xib中本身是没有设置背景图选项的。如果直接在Controller的视图层添加一个UIImageVIew呢?我们看看效果:
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(image)
}
lazy var image:UIImageView = {
let image = UIImageView(frame: self.view.bounds)
image.image = UIImage(named: "图片")
return image
}()
.
结果很明显的,我们知道我们添加的图片把原视图遮挡住了。
解决方法很简单,我们只需要加入一行代码就可以解决了。
image.layer.zPosition = -1
接下来看运行效果
原理也是非常简单的,通过代码我们都可以看出来,我们让image背景图的z轴的层级为-1,因为默认情况下,所有的视图层级都是0,因此我们就把image的层级减小了,其余视图层次更大,所以我们就能看到我们想要的效果了。