gpt4 book ai didi

iOS 交换颜色以更改应用程序的主题

转载 作者:行者123 更新时间:2023-11-29 01:51:01 25 4
gpt4 key购买 nike

我正在尝试为我的 iOS 应用实现色盲模式。现在,我为红色、绿色和蓝色定义了 3 个全局变量:

var red : UIColor = UIColor(...)
var green : UIColor = UIColor(...)
var blue : UIColor = UIColor(...)

现在,我有一个 UIButton,用户可以按下它来切换到色盲模式。一旦发生这种情况,我将这样更改全局变量:

red = newRed
green = newGreen
blue = newBlue

但是,这不会更新任何已加载的现有 View 的颜色。有没有一种方法可以让我在不重新加载整个应用程序的情况下将所有红色控件更新为新红色,将绿色控件更新为新绿色,将蓝色控件更新为新蓝色?谢谢!

更新以发布我的按钮操作:

func changeColor(sender: AnyObject) {
red = UIColor(...) //this is different from the previous red
green = UIColor(...) //this is different from the previous green
blue = UIColor(...) //this is different from the previous blue
//if I call viewDidLoad() again, then the colors are changed for all objects. However, I don't think this is the correct thing to do.
}

最佳答案

切勿直接调用 viewDidLoad()。您需要确保您的 IBOutlet 附加到您的 View Controller 内的 View 。此外,请确保您直接更改 View 的 backgroundColor 属性。例如:

myView.backgroundColor = UIColor.redColor()

关于iOS 交换颜色以更改应用程序的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415697/

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