gpt4 book ai didi

ios - 用户转到主屏幕后,按钮不会更改单击时的图像

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

我有 5 个不同的按钮,我希望用户能够在其中一个未被选中的情况下选择它,如果它已经被选中则取消选择它,同时在另一个按钮被选中时取消选择它.

normal = 未选中时按钮的图像 filled = 选中时按钮的图像

为此,我创建了一个 if/else 语句:

@IBAction func option1ButtonAction(sender: AnyObject) {

if (option1Button.currentImage == UIImage(named: "normal")) {

if option2Button.currentImage == UIImage(named: "filled") || option3Button.currentImage == UIImage(named: "filled") || option4Button.currentImage == UIImage(named: "filled") || option5Button.currentImage == UIImage(named: "filled") {

option1Button.setImage(filled, forState: .Normal)

option2Button.setImage(normal, forState: .Normal)

option3Button.setImage(normal, forState: .Normal)

option4Button.setImage(normal, forState: .Normal)

option5Button.setImage(normal, forState: .Normal)

}

else {

option1Button.setImage(filled, forState: .Normal)

}

}

else {

option1Button.setImage(normal, forState: .Normal)

}

}之后我做了一个 if option1Button.currentImage == UIImage(named: "filled") 语句。一切都按照我想要的方式运行,但是我有一个问题。每当用户按下主页按钮然后立即返回应用程序时,按钮仍然具有“正常”图像,即使在单击时也是如此。

我在 viewDidDisappear 函数中放入了以下代码,希望能解决这个问题:

option1Button.setImage(normal, forState: .Normal)

option2Button.setImage(normal, forState: .Normal)

option3Button.setImage(normal, forState: .Normal)

option4Button.setImage(normal, forState: .Normal)

option5Button.setImage(normal, forState: .Normal)

但我仍然遇到问题。如果能提供任何帮助,我将不胜感激。

最佳答案

您需要在点击时从您的按钮更改图像!我明白了吧?

对于您的问题,我相信您可以做不同的事情。我做个代码举例。

首先在按钮中设置状态图像。

option1Button.setImage(normal, forState: UIControlState.Normal);
option1Button.setImage(filled, forState: UIControlState.Disabled);

option2Button.setImage(normal, forState: UIControlState.Normal);
option2Button.setImage(filled, forState: UIControlState.Disabled);

其次我做了一个函数,这个函数改变了你按钮的状态。

selectButton(button:UIButton)
{
option1Button.enabled = button != option1Button;
option2Button.enabled = button != option2Button;
}

现在您只需以这种方式实现您的操作,其他细节是您不需要为每个按钮 ex 创建一个函数。 @IBAction func option1ButtonAction(sender: AnyObject) 只创建一个 Action 你的 selectButton(button:UIButton) 函数,或者如果更喜欢你可以创建一个集合并在那里按下你的按钮并在 selectButton

中做一段时间
@IBAction func onButtonClicked(sender: AnyObject) {

if let clickedButton = sender as? UIButton{
selectButton(clickedButton);
}

}

如果我理解正确你的问题,希望对你有所帮助!

关于ios - 用户转到主屏幕后,按钮不会更改单击时的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32418347/

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