我希望能够在用户按下按钮时更改任何按钮的图像,然后当他们释放时,之前的图像会被放回。
所以基本上,当他们按下按钮时,图像会发生变化,当他们松开时,我在 IB 中指定的原始图像会被放回。
我该怎么做?这是我到目前为止的代码。
- (IBAction)btnOne:(id)sender {
result.text = [self appendresult:@"1"];
//Changes the button image upon touch
[btnOne setImage:[UIImage imageNamed:@"NumberBtn1.png"] forState:UIControlStateNormal];
[btnOne setImage:[UIImage imageNamed:@"NumberBtn1Alt.png"] forState:UIControlStateHighlighted];
[btnOne setImage:[UIImage imageNamed:@"NumberBtn1Alt.png"] forState:UIControlStateSelected];
btnOne.showsTouchWhenHighlighted = YES;
}
最佳答案
输入您的代码...
[btnOne setImage:[UIImage imageNamed:@"NumberBtn1.png"] forState:UIControlStateNormal];
[btnOne setImage:[UIImage imageNamed:@"NumberBtn1Alt.png"] forState:UIControlStateHighlighted];
[btnOne setImage:[UIImage imageNamed:@"NumberBtn1Alt.png"] forState:UIControlStateSelected];
btnOne.showsTouchWhenHighlighted = YES;
在 viewDidLoad
中而不是在 IBAction
中,然后只需确保 Interface Builder
中的按钮正确链接到 您为其创建的 IBOutlet
。
关于objective-c - UIImage 按钮(圆角矩形按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003890/