全屏填充图像问题

问题描述 投票:0回答:1

我正在尝试创建应填充全屏的背景图像,已经创建了图像视图,并将约束设置为视图边缘,并将内容模式设置为scaleAsppectFill。但是图像不希望占据imageView的整个高度。我不在乎图像是否被裁剪,但我不希望图像失真。有人知道我在做什么错吗?

我在这里尝试过:

private func configurBackgroundImage() {
    if let backgroundImage = UIImage(named: "floral") {
        backgroundImageView.image = backgroundImage
    }
    backgroundImageView.contentMode = .scaleAspectFill
    backgroundImageView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(backgroundImageView)
    backgroundImageView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0).isActive = true
    backgroundImageView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0).isActive = true
    backgroundImageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
    backgroundImageView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
}

这是结果:

enter image description here

编辑:

[好吧,我知道发生了什么,我使用的图像在边缘是透明的。因此,在代码和我输入的结果上,图像覆盖了整个高度。但是我们看不到它,并且视图层次结构对此没有任何提示。我发现使用Illustrator,看起来像这样:

enter image description here

ios swift uiimageview uiimage uikit
1个回答
0
投票

您可以尝试使用此代码,可以在viewDidLoad函数中执行

let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "nightBack2")
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
© www.soinside.com 2019 - 2024. All rights reserved.