我正在从一个 uibutton 调用一个方法(在这种情况下是一个 uibuttons 数组)。问题是按钮应该UIControlStateSelected
立即更改并为按钮显示一个新的 uiimage。它显示图像,但仅在运行该方法之后。该方法会下载一些数据并需要一两秒钟。在调用该方法并且按钮图像选择状态更改图像之前,用户显然不确定他们是否在这种情况下触摸了按钮。
这是我用于按钮选择状态的代码:
[catBtn setTitle:[NSString stringWithFormat:@"Button %d", i] forState:UIControlStateNormal];
[catBtn setImage:[UIImage imageNamed:[categoryBtnImages objectAtIndex:i]] forState:UIControlStateNormal];
[catBtn setTitle:@"I'm selected" forState:UIControlStateSelected];
[catBtn setImage:[UIImage imageNamed:[categoryBtnImagesSel objectAtIndex:i]] forState:UIControlStateSelected];
// NSLog(@"%@",[categoryBtnImagesSel objectAtIndex:i]);
[catBtn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];
[catButtonArray addObject:catBtn];
感谢您对此的任何帮助。