gpt4 book ai didi

ios - 在 UIButton 上的透明 imageView 图像后面插入 UIVisualEffectView

转载 作者:行者123 更新时间:2023-11-28 12:26:43 24 4
gpt4 key购买 nike

我正在尝试创建一个按钮,该按钮具有清晰的背景和按钮上透明图像后面的 UIVisualEffectViewmyButton.imageView.image 有一个图像集 (myPNGWithTransparentBackground)。

我原以为这会很简单,但事实证明它比我想象的要难......这是我尝试过的:

let frost = UIVisualEffectView(effect: UIBlurEffect(style: .light))
frost.frame = button.bounds
frost.autoresizingMask = [.flexibleWidth, .flexibleHeight]
// button.insertSubview(frost, at: 0)
// button.insertSubview(frost, at: button.subviews.startIndex)
// button.insertSubview(frost, at: button.subviews.endIndex)
// button.imageView?.insertSubview(frost, at: (button.imageView?.subviews.endIndex)!)
button.imageView?.insertSubview(frost, at: (button.imageView?.subviews.startIndex)!)

无论我将 insertSubview 放在哪里,它总是在 UIButton 的 imageView.image 前面结束。

enter image description here

更新

Here's a Git repo我试过的。该子类称为“FrostyButton”。

最佳答案

查看演示项目后,您似乎需要在 UIButton 图像的顶部 添加一个 imageView。这是我调整后的代码 - 请随时根据需要清理它!

private var imageView2 = UIImageView()  // declared globally

private func makeItFrosty() {
let frost = UIVisualEffectView(effect: UIBlurEffect(style: .light))
frost.frame = self.bounds
frost.autoresizingMask = [.flexibleWidth, .flexibleHeight]
if let imageView = imageView {
imageView.addSubview(frost)
// these three lines basically 'clone' the existing imageView and adds it on top of the 'frost' view
imageView2.image = imageView.image
imageView2.frame = imageView.frame
self.addSubview(imageView2)
}
}

我对您需要做这样的事情并不感到惊讶 - UIButton 图像可能被深深地嵌入以“置于最前面”。

关于ios - 在 UIButton 上的透明 imageView 图像后面插入 UIVisualEffectView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43212437/

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