我有一个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];
}
但是当我单击按钮时,它不会保持选中状态。它会更改背景,但不会保留为所选按钮。
你必须在代码后面写一行
- (IBAction)cloudclick:(UIButton *)sender {
...
[tmpButton setSelected:YES];
}
使用这行代码
sender.selected=!sender.selected;
如果您从代码制作按钮,请在分配时为差异状态设置不同的图像,否则从 XIB 设置图像。
各种状态:UIControlStateNormal、UIControlStateSelected 和 (UIControlStateSelected |UIControlState突出显示)实际上都是不同的。如果希望阴影图像同时在(仅)突出显示状态和突出显示+选定状态下应用,则还必须设置:
[button setBackgroundImage: bgImage forState:(UIControlStateHighlighted | UIControlStateSelected)]
in Swift 5
sender.isSelected.toggle()