你好,我从XCode对象库中添加了一个“弹出式按钮”,并希望将其与处理菜单项选择更新(用于应用程序的语言选择)的事件处理程序挂钩。
按钮已经在 *.xib文件中创建,我应该创建什么类型的函数来连接按钮事件?
我创建了一个IBAction处理程序,如下所示:
@IBOutlet weak var languageSettingButton: UIButton!
@IBAction func onLanguageSelected() {
// handling selection
// ...
}
但是把选择器拖到这个IBAction函数上却不起作用。它期待什么样的选择器函数呢?我该怎么把它挂起来呢?
谢谢你!
我使用两种应用程序语言的两个菜单选项:
弹出按钮:
更新日期:
关注了@查尔斯·斯尔斯特卡的评论:
IBAction函数需要有一个发送方参数:
@IBAction func onLanguageSelected(_ sender: Any?) {
}
然而有趣的是,我们可以将整个按钮与IBAction函数挂钩,但不能将菜单项的选择器挂钩,我们应该如何处理这里的选择器?它是否也需要与函数挂钩?
1条答案
按热度按时间dsekswqp1#
终于想出了解决办法:
1.根据Charles的注解,在视图控制器文件中添加一个带有sender参数的选择处理程序:
@ IB选择更新操作函数(_ sender:有吗?){
}
1.在弹出按钮的菜单项的选择器钩中,将其一直拖动到“文件的所有者”,拖动后,一个小菜单将显示可用的IBAction函数,选择我们刚刚创建的函数。