objective-c - 通过通用方法传递不同的 UIButton。选择器/发送器是答案吗?

标签 objective-c ios methods uibutton selector

我从 Interface Builder 添加了大约 20 个按钮,按下时它们会改变颜色,如下所示:

-(IBAction)button1:(id)sender
{
    if(playerTurn == YES)
    {
        button1.backgroundColor = [UIColor redColor];
    }
}

但为了缩短时间,似乎我可以使用通用方法,以便按下每个按钮时运行该方法。像这样的东西:

-(IBAction)button1:(id)sender
{
    //Go to method and make this button red
}
-(void)changeColour
{
    if(playerTurn == YES)
    {
        buttonThatWasSent.backgroundColor = [UIColor redColor];
    }
}

不幸的是,我不知道该怎么做。似乎选择器/发送器是答案?但我还没有成功制作任何我发现有用的教程。

最佳答案

你非常接近!

- (IBAction)myActionWithAnArbitraryName:(UIButton *)sender
{
    if(playerTurn == YES) {
        [sender setBackgroundColor:[UIColor redColor]];
    }
}

关于objective-c - 通过通用方法传递不同的 UIButton。选择器/发送器是答案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893228/

相关文章:

javascript - '=' 运算符在这种情况下做什么? sqrtf(1 - (t = t/d - 1) * t);

java - 动态地将方法体重新分配给对象

java - 我的java数组有一个错误(将字母等级存储在数组中)

python - 为什么 Python 在创建实例时不调用实例方法 __init__() 而是调用类提供的 __init__() ?

objective-c - 即使在范围外使用时,在范围内创建的对象也会被释放

ios - 在xcode中更新cocos2d,添加kazmath

ios - 我有一个应用内购买设置,它有效,除了当用户按下 "cancel"它仍然最终购买产品

ios - Swift 如何更新以前的 View Controller 中的标签

ios - 将 UITapGestureRecognizer 添加到 UITextView 而不阻止 textView 触摸

objective-c - Modulemap 中 header 的相对路径