将相同的 IBAction 添加到多个按钮。最新 Xcode, swift 3, iOS 10
Add same IBAction to multiple buttons. Latest Xcode, swift 3, iOS 10
以前我觉得这真的是微不足道的……但现在我似乎做不到。我曾经创建多个按钮,更改它们各自的标签,然后创建一个 IBAction,它会为我的所有按钮调用!
不过,这是很久以前的事了。现在我正在尝试做同样的事情,但似乎没有用。无论我做什么,我的 IBAction 似乎只链接到一个按钮,它不会被任何其他按钮触发。
我试过了:
@IBAction func myAction(sender: UIButton) { }
@IBAction func myAction(_ sender: UIButton) { }
@IBAction func myAction(_ sender: Any) { }
和 none 这些作品。这是一个错误吗?有没有新的方法来做到这一点?我是否被迫为每个按钮创建单独的操作,尽管每个按钮的功能都非常熟悉?
我用谷歌搜索了一下,我似乎无法完成这项工作,哈哈,也许我现在缺少一些东西。
这是 Xcode 中的错误。希望苹果尽快修复它的错误。
从按钮拖动时 IBAction 的默认签名类似于
@IBAction func meHere(_ sender: Any) {
//something here
}
现在,如果您添加另一个按钮并尝试将相同的 IBAction 设置到它不允许的按钮(虽然只有 apple 知道为什么)
解法:
将方法签名更改为
@IBAction func meHere(_ sender: UIButton) {
}
将任意更改为特定 UIComponent。现在控制从您的 IBAction 拖动到您的新按钮,一切都会好起来的:)
如您所见,我和您的按钮都连接到同一个 IBAction :)
快乐编码
将@IBAction func myAction(_ sender: Any) { } 更改为
@IBAction func myAction(_ sender: AnyObject) { }
因此您可以 link 任何按钮到一个单一的 IBAction 方法。
(控制 + 将您的按钮拖动到 "myAction" Assistant Editor 中的方法主体)
以前我觉得这真的是微不足道的……但现在我似乎做不到。我曾经创建多个按钮,更改它们各自的标签,然后创建一个 IBAction,它会为我的所有按钮调用!
不过,这是很久以前的事了。现在我正在尝试做同样的事情,但似乎没有用。无论我做什么,我的 IBAction 似乎只链接到一个按钮,它不会被任何其他按钮触发。
我试过了:
@IBAction func myAction(sender: UIButton) { }
@IBAction func myAction(_ sender: UIButton) { }
@IBAction func myAction(_ sender: Any) { }
和 none 这些作品。这是一个错误吗?有没有新的方法来做到这一点?我是否被迫为每个按钮创建单独的操作,尽管每个按钮的功能都非常熟悉?
我用谷歌搜索了一下,我似乎无法完成这项工作,哈哈,也许我现在缺少一些东西。
这是 Xcode 中的错误。希望苹果尽快修复它的错误。
从按钮拖动时 IBAction 的默认签名类似于
@IBAction func meHere(_ sender: Any) {
//something here
}
现在,如果您添加另一个按钮并尝试将相同的 IBAction 设置到它不允许的按钮(虽然只有 apple 知道为什么)
解法:
将方法签名更改为
@IBAction func meHere(_ sender: UIButton) {
}
将任意更改为特定 UIComponent。现在控制从您的 IBAction 拖动到您的新按钮,一切都会好起来的:)
将@IBAction func myAction(_ sender: Any) { } 更改为
@IBAction func myAction(_ sender: AnyObject) { }
因此您可以 link 任何按钮到一个单一的 IBAction 方法。
(控制 + 将您的按钮拖动到 "myAction" Assistant Editor 中的方法主体)