gpt4 book ai didi

ios - 透明 View 是黑色的?

转载 作者:搜寻专家 更新时间:2023-11-01 05:55:53 24 4
gpt4 key购买 nike

我正在尝试创建一个在某些位置透明的 View ,以查看背后的图像。但是,出于某种原因,在 View 的透明部分,我看到的是黑色,而不是 View 后面的内容。我已经将它精简为非常少的代码,并且不明白为什么我的透明 View 显示黑色而不是红色(后面 View 的颜色)。这是我的代码:

class ViewController: UIViewController {

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let redView = UIView(frame: view.frame)
redView.backgroundColor = UIColor.red
let transparentView = TransparentView(frame: view.frame)

view.addSubview(redView)
view.addSubview(transparentView)
}
}

class TransparentView: UIView {

override func draw(_ rect: CGRect) {
UIColor.clear.setFill()
UIRectFill(rect)
}

我希望屏幕是全红的,但它显示全黑。在有人说清楚 View 要容易得多之前,我实际上正在尝试在 drawRect 中做更复杂的事情,只是下降到最基本的事情来尝试调试我的问题。我在这里缺少什么?

最佳答案

使用 self.isOpaque = false; 使 View /层透明,即使 drawRect 被覆盖。

class TransparentView: UIView {

override init(frame: CGRect) {
super.init(frame: frame);

self.isOpaque = false; //Use this..
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

override func draw(_ rect: CGRect) {
UIColor.clear.setFill()
UIRectFill(rect)
}
}

关于ios - 透明 View 是黑色的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45786341/

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