0

我使用以下编程方式创建了几个 UIButton:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

button.frame = CGRectMake(realX, realY, 64, 64);

[button setTitle: str forState:UIControlStateNormal];

button.backgroundColor = greyButtonColor;

我希望按钮根据被触摸的次数循环显示颜色。前任。灰色 > 绿色 > 蓝色 > 回到灰色。那么我该如何使用代码来做到这一点呢?上面的代码来自我为制作按钮而创建的方法。教它根据触摸次数进行行为的代码应该进入该方法还是新方法?

4

1 回答 1

0

我不知道确切的代码,但我想我可以告诉你如何解决这个问题。

  1. 为每个按钮注册一个点击事件并分配一个 switchColor(buttonId) 方法

  2. 每个按钮都需要一个 currentStateButtonId 变量来保存按钮的状态

    • 初始值为 0 = 灰色
    • 在您检查的方法内
      • if (currentStateButtonId == 0)
        -> currentStateButtonId = 1
        -> buttonId 颜色 = 蓝色
      • 否则
        -> currentStateButtonId = 0
        -> buttonId 颜色 = 灰色
于 2013-05-14T04:30:40.357 回答