gpt4 book ai didi

swift - 将 UIImageView 设置为背景 - Swift 4

转载 作者:行者123 更新时间:2023-11-28 09:39:43 25 4
gpt4 key购买 nike

我想在 View 中已存在的所有内容后面设置背景图像。

我试过了:

override func viewDidLoad() {
super.viewDidLoad()
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "bg-img")
backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
}

但它没有用(它甚至没有添加 img)。因此,我导入了 ImageView 组件并使用 Xcode GUI 添加了图像,它确实添加了图像,但位于所有内容之上。我已经尝试了几个 Stack Overflow 答案(这是我从中获得上述代码的地方),但我没有任何运气。

我的文件夹结构是这样的:

enter image description here

我的图像在 Assets.xcassets 文件夹中。

更新:我重新启动了 Xcode,我的代码工作了。

最佳答案

viewDidLoad 中设置 subview 的框架不是一个好的做法,因为此时 subview 尚未正确放置。你应该在 viewDidLayoutSubviews 中设置 subview 的框架,它在 self.view 之后被调用并且它的 subview 被正确布局。

你的 View Controller :

var backgroundImage: UIImageView!

override func viewDidLoad() {
super.viewDidLoad()

self.backgroundImage = UIImageView(image: UIImage(named: "bg-img"))
self.backgroundImage.contentMode = .scaleAspectFill
self.view.insertSubview(self.backgroundImage, at: 0)
}

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()

self.backgroundImage.frame = self.view.bounds
}

关于swift - 将 UIImageView 设置为背景 - Swift 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52467679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com