ios Swift:如何在选择更新时连接“弹出按钮”事件处理程序?

brqmpdu1  于 2022-11-19  发布在  iOS
关注(0)|答案(1)|浏览(124)

你好,我从XCode对象库中添加了一个“弹出式按钮”,并希望将其与处理菜单项选择更新(用于应用程序的语言选择)的事件处理程序挂钩。
按钮已经在 *.xib文件中创建,我应该创建什么类型的函数来连接按钮事件?
我创建了一个IBAction处理程序,如下所示:

@IBOutlet weak var languageSettingButton: UIButton!

@IBAction func onLanguageSelected() {
    // handling selection
    // ...
}

但是把选择器拖到这个IBAction函数上却不起作用。它期待什么样的选择器函数呢?我该怎么把它挂起来呢?
谢谢你!
我使用两种应用程序语言的两个菜单选项:

弹出按钮:

更新日期:

关注了@查尔斯·斯尔斯特卡的评论:
IBAction函数需要有一个发送方参数:

@IBAction func onLanguageSelected(_ sender: Any?) {
    
}

然而有趣的是,我们可以将整个按钮与IBAction函数挂钩,但不能将菜单项的选择器挂钩,我们应该如何处理这里的选择器?它是否也需要与函数挂钩?

dsekswqp

dsekswqp1#

终于想出了解决办法:
1.根据Charles的注解,在视图控制器文件中添加一个带有sender参数的选择处理程序:
@ IB选择更新操作函数(_ sender:有吗?){

// add logic here

}
1.在弹出按钮的菜单项的选择器钩中,将其一直拖动到“文件的所有者”,拖动后,一个小菜单将显示可用的IBAction函数,选择我们刚刚创建的函数。

相关问题