如何选择Uibutton

时间:2013-12-23 10:30:20

标签: ios iphone objective-c 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];

} 

但是单击按钮时它不会保持选中状态。它会更改背景,但不会保留为选定按钮。

3 个答案:

答案 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)]