强制按钮看起来按下?

时间:2013-11-17 02:58:43

标签: ios iphone objective-c

我有一个UIButton,我需要以编程方式让它看起来像我的手指在它上面时的样子(更暗)。

有办法做到这一点吗?

由于

4 个答案:

答案 0 :(得分:0)

yourButton.selected = YES;
yourButton.highlighted = YES;

答案 1 :(得分:0)

还有一个选项,如果要为按钮选择设置不同的图像,则为UIControlStateSelected设置图像,并以编程方式将所选属性指定为true。

例如:

[button setImage:imageOfClicked forState:UIControlStateSelected];
[button setSelected:YES];

答案 2 :(得分:0)

我有一个更简单的方法。只需使用“performSelector”,延迟为0即可执行[button setHighlighted:YES]。这将在当前runloop结束后执行重新突出显示。

- (IBAction)buttonSelected:(UIButton*)sender {
    NSLog(@"selected %@",sender.titleLabel.text);
    [self performSelector:@selector(doHighlight:) withObject:sender afterDelay:0];
}

- (void)doHighlight:(UIButton*)b {
    [b setHighlighted:YES];
}

答案 3 :(得分:0)

我认为您只需要将“突出显示”属性设置为“是”:

button.highlighted = YES;

或者您可以为按钮的正常状态设置所选图像:

[button setImage:selectedImage forState:UIControlStateNormal];