试着理解这个问题。我有一个带有UIControlEventTouchDown事件的UIButton调用:
- (IBAction)pressButton:(id)sender {
NSLog(@"button pressed");
UIButton *button = (UIButton *)sender;
button.selected = YES;
}
我按预期立即收到消息“按下按钮”。但是,在我抬起手指之前,图像不会改变为所选图像。这没有意义,因为我按下按钮后立即将按钮设置为选中状态。我在界面构建器中为“默认”设置了我的关闭图像,在“选定”下设置了我的图像设置。我也试过为“突出显示”添加图像,这也不起作用。我在这里做错了什么?
答案 0 :(得分:1)
您已在UIControlEventTouchDown
设置了按钮点击事件,因此该事件将触发该按钮的TouchDown事件,并且您想要设置该图像,因此您必须设置图像{{1} }。
所以尝试像这样设置图像:
UIControlState
可能对你有帮助。
答案 1 :(得分:0)
您可以为按钮设置UIViewController *myViewController = [[FormApplicationViewController alloc] initWithNibName:@"FormApplicationviewController" bundle:nil];
图像。在故事板中它是这样的:
答案 2 :(得分:0)
试试这个
- (IBAction)pressButton:(id)sender {
NSLog(@"button pressed");
UIButton *button = (UIButton *)sender;
button.selected = YES;
[button setBackgroundImage:[UIImage imageNamed:@"another.png"] forState:UIControlStateNormal];
}