如何使Uibutton处于选中状态



我有一个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()

最新更新