objective-c - 如何将 'sender' 发送到 Objective C 中的另一个方法

标签 objective-c cocoa button sender

我想做一个简单的圆圈和十字游戏。

我放置了 9 个按钮,但将其连接到一种方法,因此当用户单击其中任何一个按钮时,按钮的标题会更改为 X 或 O。所有按钮都有不同的标签。现在我想将“发送者”发送到另一个方法只是为了检查用户是 Circle 还是 Cross

    -(void) show: (enum gamer) aGamer andSender: (id) sender
{
    switch(aGamer)
    {
        case gCircle:
            [sender setTitle:[NSString stringWithFormat:@"%c",'o']];
            break;
        case gCross:
            [sender setTitle:[NSString stringWithFormat:@"%c",'x']];

            break;
    }
}

问题是该按钮不会更改标题。以下是当我单击按钮时调用方法 show 的方法。

[self show:aGamer andSender:sender];

最佳答案

您应该改用setTitle:forState:。 例如

[sender setTitle:@"o" forState:UIControlStateNormal]

以下是 UIButton 文档的链接:Link

关于objective-c - 如何将 'sender' 发送到 Objective C 中的另一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20960861/

相关文章:

iphone - 动画移动 UIButton 在移动时不响应触摸/点击

iphone - 从一个 View Controller 移动到另一个 View Controller 时,基于 View 的应用程序从左到右过渡

objective-c - Objective-C 2.0 的内存管理

java - HtmlUnit - 按钮点击问题

objective-c - 谓词对子项的值求和

ios - 从 Cllocation 获取 CLLocationCorrdinate2D 时出错

ios - 点击 Sprite 时发生的其他 Action ;如何预防

java - 自动调用按钮

cocoa - NSTextView 和文本气球(就像在邮件应用程序中一样)

macos - 如何在 NSImage 周围绘制彩色边框?