在我的应用程序中,我正在构建,我有一个导航控制器,其中一个视图控制器作为子视图连接(是正确的单词?)。我添加了一个UIButton并尝试将其拖动到我的视图控制器类文件中,但它只是将Outlet和Outlet集合作为我的选项,而不是Action。
这是一个非常简单的应用程序,我尝试删除我的Pod作为修复,但到目前为止没有运气。
我也尝试手动编写该功能并尝试将其连接回按钮,但无济于事。拖回工作区中的按钮不起作用,并且在测试应用程序时该功能未触发。这是我试过的代码:
@IBAction func tapSaveButton(_ sender: UIButton) {}
这可能很简单,所以我在这里缺少什么?
编辑:另外,这就是我的设置方式。我有一个带有UINavigationItem的导航控制器,它显示了一个子ViewController。有问题的按钮位于子ViewController中,我设置了一个新的swift文件来处理ViewController的类。我正在尝试将该按钮连接到该类文件中,这就是它无法正常工作的地方。这是我的ViewController类的代码:
import Foundation
import UIKit
import KeychainSwift
class SettingsViewController : UIViewController {
let keychain = KeychainSwift()
@IBOutlet weak var APIKeyField: UITextField!
@IBOutlet weak var WebSocketIPField: UITextField!
@IBOutlet weak var SettingsSaveButton: UIButton!
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
/* My other code, not related */
}
@IBAction func tapSaveButton(_ sender: UIButton) {
// My button actions here.
}
}
答案 0 :(得分:2)
当然这是愚蠢的。我从按钮中删除了类,并且中提琴,它让我在我的Swift文件中创建一个动作。
答案 1 :(得分:1)
也许你试图连接到其他viewcontroller 请再次检查它是否是正确的viewcontroller并准确连接在故事板上
答案 2 :(得分:0)
右键单击故事板中的uibutton,您应该会看到“已发送事件”下的操作选项列表,最常用的是“Touch Up Inside”。
从你想要的那个(圆圈到侧面)拖动到你的视图控制器上,一切都应该正常工作。
编辑:为清楚起见,您甚至可以将“Touch Up Inside”拖动到您已经创建的func,只要它标记为
@IBAction ...
您的代码已经完成的。
答案 3 :(得分:0)
这也发生在我身上,当我在我的项目中添加本地化时,从那个时间本地添加了故事板,故事板按钮没有显示任何操作选项,只显示插座选项。