当我选择该按钮时,我有一个UIButton
仍然被选中。这是我的代码:
- (IBAction)cloudclick:(UIButton *)sender {
UIImage *bgImage = [UIImage imageNamed:@"black_cloud.png"];
UIButton *tmpButton = (UIButton *)[self.view viewWithTag:sender.tag];
[tmpButton setBackgroundImage:bgImage forState:UIControlStateSelected];
}
但是单击按钮时它不会保持选中状态。它会更改背景,但不会保留为选定按钮。
答案 0 :(得分:11)
你必须在代码后写一行
- (IBAction)cloudclick:(UIButton *)sender {
...
[tmpButton setSelected:YES];
}
答案 1 :(得分:4)
使用这行代码
sender.selected=!sender.selected;
如果您从代码创建按钮,则在alloc时为差异状态设置不同的图像,否则从xib中设置图像。
答案 2 :(得分:3)
各种状态:UIControlStateNormal,UIControlStateSelected和(UIControlStateSelected | UIControlStateHighlighted)实际上都是不同的。如果您希望shadowImage同时应用于(仅)突出显示状态和突出显示的+选定状态,则还必须设置:
[button setBackgroundImage: bgImage forState:(UIControlStateHighlighted | UIControlStateSelected)]