【发布时间】:2023-04-07 12:07:01
【问题描述】:
我在滑出式菜单中有十个按钮。如何通过选择将十个按钮的文本颜色从黑色更改为白色,然后在用户单击另一个按钮时恢复为原始状态。
我正在一个一个地循环按钮,我使用了代码
@IBAction func onBtnClick(sender: UIButton) {
hmImg.hidden = true
editprofileImg.hidden = true
cntctsReqImg.hidden = true
cntctsManImg.hidden = true
preferencesImg.hidden = true
timeRuleImg.hidden = true
helpImg.hidden = true
logoutImg.hidden = true
var a: NSInteger = sender.tag
if a == 1
{
homeBtn.setTitleColor(UIColor.whiteColor(), forState:UIControlState.Normal)
hmImg.hidden = false
}
else if a == 2
{
editProfileBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
editprofileImg.hidden = false
}
else if a == 3
{
cntctsRequetsBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
cntctsReqImg.hidden = false
}
else if a == 4
{
cntctMangBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
cntctsManImg.hidden = false
}
else if a == 5
{
preferenceBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
preferencesImg.hidden = false
}
else if a == 6
{
timeruleBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
timeRuleImg.hidden = false
}
else if a == 7
{
helpBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
helpImg.hidden = false
}
else if a == 8
{
logoutBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
logoutImg.hidden = false
}
这种状态的问题是当我选择其他按钮时按钮颜色仍然是白色。当用户选择另一个按钮时,我想将文本颜色更改为黑色
当我点击按钮时,选择的控制状态在几秒钟内几乎不存在
【问题讨论】:
-
所有这些按钮都不像单选按钮那样工作。在每次单击按钮时,您都应该恢复其他按钮的状态。
-
我所有的按钮都以不同的方式命名。我应该在每个循环后恢复吗?谢谢
标签: ios swift uibutton uicontrolstate