iphone - 我如何知道我单击了哪个按钮来启动程序内的操作?

标签 iphone objective-c cocoa cocoa-touch uibutton

我有 3 个调用相同功能的按钮。我想知道函数内部哪个按钮调用了它。可以知道吗?

最佳答案

是的,您可以使用sender参数。如果您有一个名为 buttonOne 的 IBOutlet,您可以像这样检查 IBAction 方法内部:

- (IBAction) buttonClicked:(id) sender
{
    if (sender == buttonOne)
    {
        NSLog(@"Button one was pressed.");
    }
}

或者,为每个按钮分配一个 tag,并使用发送者的 tag 属性(以下示例假设为 buttonOne 分配了标签值“1”):

- (IBAction) buttonClicked:(id) sender
{
    if ([sender tag] == 1)
    {
        NSLog(@"Button one was pressed.");
    }
}

关于iphone - 我如何知道我单击了哪个按钮来启动程序内的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2832453/

相关文章:

objective-c - Cocoa:如何在 Cocoa 中禁用 Web View 的所有用户交互?

objective-c - 您对 Objective-C 中的返回类型有多谨慎?

cocoa - 核心图形和 GIF 颜色表

ios - 仅在公司员工的手机上部署 iPhone 应用程序?

iphone - *** __NSAutoreleaseNoPool() : Object 0x926d620 of class NSPathStore2 autoreleased with no pool in place - just leaking

objective-c - 如何获取 UITableViewCell 的矩形大小?

objective-c - *准确*计算 Cocoa 中的文本高度(适用于 Mac,不适用于 iOS)

objective-c - 后台线程将 UIImage 返回的结果为零

ios - 图像未从一个 View 传递到另一个 View

iphone - 查询AppStore?