我需要一个 UIButton 来保持按下状态。基本上,如果按钮处于正常状态,我想触摸该按钮,它会突出显示其标准蓝色,然后在抬起手指后保持蓝色。
我制作了以下 UIAction 并将按钮 Touch Up Inside 事件连接到它。
-(IBAction) emergencyButtonPress:(id) sender
{
if(emergencyButton.highlighted)
{
emergencyButton.selected = NO;
emergencyButton.highlighted = NO;
}
else
{
emergencyButton.selected = YES;
emergencyButton.highlighted = YES;
}
}
但发生了什么,当我移开手指后,按钮又回到白色背景。为了进行测试,我添加了一个 UISwitch 并让它执行相同的代码:
-(IBAction) emergencySwitchClick:(id) sender
{
if(emergencyButton.highlighted)
{
emergencyButton.selected = NO;
emergencyButton.highlighted = NO;
}
else
{
emergencyButton.selected = YES;
emergencyButton.highlighted = YES;
}
}
在这种情况下,按钮会按照我的预期切换到突出显示和非突出显示状态。
Touch Up Inside 事件之后是否发生了另一个事件,将状态重置回“正常”?如何保持突出显示状态?
当您触摸/释放按钮时,iOS 将应用和删除突出显示的状态。所以不要在你的行动方法中依赖它。
正如其他答案之一所说,将突出显示的图像设置为与所选图像相同,然后修改您的操作方法:
-(IBAction) emergencyButtonPress:(id) sender
{
emergencyButton.selected = !emergencyButton.selected;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)