gpt4 book ai didi

ios - Swift: View 隐藏按钮

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

因此,在 Storyboard中,我在 View Controller 上放置了一个 View 。

此 View 还有一个自定义颜色,在我的代码中定义:

 func setBlueGradientBackground(){
let topColor = UIColor(red: 95.0/255.0, green: 165.0/255.0, blue: 1.0, alpha: 1.0).cgColor
let bottomColor = UIColor(red: 72.0/255.0, green: 114.0/255.0, blue: 184.0/255.0, alpha: 1.0).cgColor
smoke.frame = view.bounds
smoke.colors = [topColor, bottomColor]

我的 viewdidload 看起来像这样:

override func viewDidLoad() {
super.viewDidLoad()


setBlueGradientBackground()
lava.layer.addSublayer(smoke)
}

现在我想在我的 View 中添加一个按钮。

不知何故, View 隐藏了按钮。

如果我删除

setBlueGradientBackground() 

功能,它有效..

编辑:按钮在颜色正在改变的 View 中。

https://imgur.com/a/9okrll6

如何解决这个问题?

最佳答案

所以检查一下。在你的方法中

func setBlueGradientBackground(){
let topColor = UIColor(red: 95.0/255.0, green: 165.0/255.0, blue: 1.0, alpha: 1.0).cgColor
let bottomColor = UIColor(red: 72.0/255.0, green: 114.0/255.0, blue: 184.0/255.0, alpha: 1.0).cgColor
smoke.frame = view.bounds //HERE SEEMS TO BE CULPRIT
smoke.colors = [topColor, bottomColor]
}

我们看到您声明了 Smoke 的框架。好吧,看来你的烟雾变量(UIView 的某种血统)被添加到屏幕上按钮之后的某个位置。所以也许发生了这样的事情

var smoke:UILabel = UILabel()

func viewDidLoad() {
var button = UIButton(frame: CGRect(x: self.view.frame.width*0.3, y: self.view.frame.height*0.3, width: self.view.frame.width*0.4, height: self.view.frame.height*0.4))
self.view.addSubview(button) //ADDED BEFORE
self.view.addSubview(smoke) //ADDED AFTER
}

现在 setBlueGradientBackground 可以解决此问题的原因是因为您在其中设置了烟雾的框架。因此,如果我们删除 setBlueGradientBackground,我们也不接受 Smoke 的框架。烟雾现在不在屏幕上,即使它是作为 View 添加的;它没有界限。因此,尽管该按钮是在按钮之后添加的,但它不能阻止任何内容,因为它没有边界。

这是一个查看图层位置的快速小工具。在 XCode 中,当您运行程序时,在调试器工具上您可以看到这些按钮 -> 断点、暂停、跳过、内部、其他内容,然后您将看到如下所示的行 |。然后你有另一个按钮,看起来像 2 个矩形,1 个宽度和 1 个高度组合,单击它,它实际上会在给定状态下暂停你的程序并显示图层的位置。这非常漂亮。就是下图中的第6个按钮。

关于ios - Swift: View 隐藏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50825449/

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