Xcode 中的 Control-drag 给出了出口,但没有对 UIButton 的操作。为什么?
Control-drag in Xcode gives outlets, but no action for UIButton. Why?
在我正在构建的应用程序中,我有一个导航控制器和一个作为子视图连接的视图控制器(这个词正确吗?)。我添加了一个 UIButton 并尝试按住 Control 键将其拖到我的视图控制器 class 文件中,但它只给我 Outlet 和 Outlet 集合作为我的选项,而不是 Action。
Screenshot of what I'm seeing
这是一个非常简单的应用程序,我尝试删除我的 Pods 作为修复,但到目前为止运气不好。
我也试过手动编写函数并尝试将其连接回按钮,但无济于事。拖回工作区中的按钮不起作用,并且在我测试应用程序时该功能未触发。这是我试过的代码:
@IBAction func tapSaveButton(_ sender: UIButton) {}
这可能很简单,所以我在这里缺少什么?
编辑:此外,这是我的设置方式。我有一个带有 UINavigationItem 的导航控制器,它显示一个子 ViewController。有问题的按钮在子 ViewController 中,我设置了一个新的 swift 文件来处理 ViewController 的 class。我正在尝试将该按钮连接到 class 文件,但它无法正常工作。
Screenshot of my storyboard
这是我的 ViewController class 的代码:
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.
}
}
右键单击故事板中的 ui 按钮,您应该会在 "Sent Events" 下看到一个操作选项列表,最常用的是 "Touch Up Inside"。
从你想要的那个(圈到一边)拖到你的视图控制器上,一切都应该工作正常。
编辑:为清楚起见,您甚至可以从 "Touch Up Inside" 拖动到您已经创建的函数,只要它被标记为
@IBAction ...
您的代码已经完成了。
当然是愚蠢的事情。我从按钮中删除了 class,中提琴,它让我在我的 Swift 文件中创建一个动作。
我也遇到过这样的情况,当我在我的项目中添加本地化时,从那个时候在本地化中添加了情节提要,情节提要按钮不显示任何操作选项,只显示出口选项。
也许您尝试连接到其他 viewcontroller
请再次检查它是否正确 viewcontroller 并准确连接到情节提要
在我正在构建的应用程序中,我有一个导航控制器和一个作为子视图连接的视图控制器(这个词正确吗?)。我添加了一个 UIButton 并尝试按住 Control 键将其拖到我的视图控制器 class 文件中,但它只给我 Outlet 和 Outlet 集合作为我的选项,而不是 Action。
Screenshot of what I'm seeing
这是一个非常简单的应用程序,我尝试删除我的 Pods 作为修复,但到目前为止运气不好。
我也试过手动编写函数并尝试将其连接回按钮,但无济于事。拖回工作区中的按钮不起作用,并且在我测试应用程序时该功能未触发。这是我试过的代码:
@IBAction func tapSaveButton(_ sender: UIButton) {}
这可能很简单,所以我在这里缺少什么?
编辑:此外,这是我的设置方式。我有一个带有 UINavigationItem 的导航控制器,它显示一个子 ViewController。有问题的按钮在子 ViewController 中,我设置了一个新的 swift 文件来处理 ViewController 的 class。我正在尝试将该按钮连接到 class 文件,但它无法正常工作。
Screenshot of my storyboard
这是我的 ViewController class 的代码:
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.
}
}
右键单击故事板中的 ui 按钮,您应该会在 "Sent Events" 下看到一个操作选项列表,最常用的是 "Touch Up Inside"。
从你想要的那个(圈到一边)拖到你的视图控制器上,一切都应该工作正常。
编辑:为清楚起见,您甚至可以从 "Touch Up Inside" 拖动到您已经创建的函数,只要它被标记为
@IBAction ...
您的代码已经完成了。
当然是愚蠢的事情。我从按钮中删除了 class,中提琴,它让我在我的 Swift 文件中创建一个动作。
我也遇到过这样的情况,当我在我的项目中添加本地化时,从那个时候在本地化中添加了情节提要,情节提要按钮不显示任何操作选项,只显示出口选项。
也许您尝试连接到其他 viewcontroller 请再次检查它是否正确 viewcontroller 并准确连接到情节提要