gpt4 book ai didi

iphone - TouchUpInside 事件后无法将 UIButton 保持在选定状态

转载 作者:可可西里 更新时间:2023-11-01 03:42:39 25 4
gpt4 key购买 nike

我需要一个 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;
}

关于iphone - TouchUpInside 事件后无法将 UIButton 保持在选定状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8821287/

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