ios - 按下时突出显示的UIButton不会在第一次按下时突出显示

标签 ios objective-c uibutton

我四处张望时会高亮显示一个按钮,于是我想到了这一点。

//The button #1
-(IBAction)Number1:(UIButton *)sender{
    [self buttonPressed:sender];
    [self appendDigit:@"1"];
}

//The function for buttonPressed
- (void) buttonPressed:(UIButton *)sender {

    [sender setBackgroundImage:[UIImage imageNamed:@"ButtonPressed.png"] forState:(UIControlStateHighlighted)];
}

它仅在第二次按下后才突出显示我想要的按钮。不知道为什么要这样做,但是确实是。.所以,我想知道我在这里想念什么吗?

我看过其他文章,以不同的方式来解决这个问题,但我喜欢我实现计算器的方式有点不同。

好吧,我希望你们能向正确的方向伸出援手或指导。

最佳答案

原因是这行代码

[sender setBackgroundImage:[UIImage imageNamed:@"ButtonPressed.png"] forState:(UIControlStateHighlighted)];

第一次点击时尚未处理。

您将必须使该按钮的IBOutlet像
@property (weak, nonatomic) IBOutlet UIButton *button;

然后在中查看DidLoad
    [self.button setBackgroundImage:[UIImage imageNamed:@"ButtonPressed.png"] forState:(UIControlStateHighlighted)];

GitHub上的示例项目:
https://github.com/voyage11/HighLightBtn

关于ios - 按下时突出显示的UIButton不会在第一次按下时突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23693235/

相关文章:

objective-c - 如何控制嵌套的 ScrollView

ios - 如何从 QT 应用程序设置 ios app bundle Id

iphone - 在 Objective-C 中,你需要在方法的末尾释放参数吗?

iphone - objective-c - tableview 内的按钮防止表格滚动

ios - 在 iOS 中创建按钮面板

ios - 我们可以使用 iOS 检测 SIM 卡是预付费还是后付费?

ios - HealthKit 在 Swift 2.0 中仅发布一次

objective-c - 如何从模态视图导航到 View ?

ios - CIContext 错误访问崩溃

iphone - 导航栏按钮不显示