Ios 按下按钮时按下“新建视图控制器”
我正在用Swift 5编程构建一个游戏,希望从主菜单导航到游戏屏幕。这是我的密码:Ios 按下按钮时按下“新建视图控制器”,ios,swift,uinavigationcontroller,swift4,swift5,Ios,Swift,Uinavigationcontroller,Swift4,Swift5,我正在用Swift 5编程构建一个游戏,希望从主菜单导航到游戏屏幕。这是我的密码: func handleButtonsTapped() { playButton.addTarget(self, action: #selector(pushGameViewController), for: .touchUpInside) } 以及用于在点击时推动视图控制器的选择器: @objc func pushGameViewController() { let destinationVC
func handleButtonsTapped() {
playButton.addTarget(self, action: #selector(pushGameViewController), for: .touchUpInside)
}
以及用于在点击时推动视图控制器的选择器:
@objc func pushGameViewController() {
let destinationVC = GameViewController()
navigationController?.pushViewController(destinationVC, animated: true)
}
当我在模拟器中点击按钮时,什么也没发生。我在viewDidLoad函数中也调用了handleButtonsTapped 这是我的代码,可以运行 您的ViewController是否设置为UINavigation
@IBOutlet weak var playButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
handleButtonsTapped()
}
func handleButtonsTapped() {
playButton.addTarget(self, action: #selector(pushGameViewController), for: .touchUpInside)
}
@objc func pushGameViewController() {
let destinationVC = GameViewController()
navigationController?.pushViewController(destinationVC, animated: true)
}
这是我的代码,可以运行 您的ViewController是否设置为UINavigation
@IBOutlet weak var playButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
handleButtonsTapped()
}
func handleButtonsTapped() {
playButton.addTarget(self, action: #selector(pushGameViewController), for: .touchUpInside)
}
@objc func pushGameViewController() {
let destinationVC = GameViewController()
navigationController?.pushViewController(destinationVC, animated: true)
}
有答案了
在我的SceneDelegate.swift中,我设置:
现在它工作了!谢谢大家的评论:得到了答案
在我的SceneDelegate.swift中,我设置:
现在它工作了!谢谢大家的评论:您不能直接初始化情节提要视图控制器插座。相反,您可以从故事板所在的捆绑包中加载它。遵循以下步骤 首先,根据屏幕截图设置故事板Id“GameViewController”。 然后将pushGameViewController功能替换为以下功能
@objc func pushGameViewController() {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let destinationVC = storyboard.instantiateViewController(withIdentifier: "GameViewController")
self.navigationController?.pushViewController(destinationVC, animated: true)
}
不能直接初始化情节提要视图控制器出口。相反,您可以从故事板所在的捆绑包中加载它。遵循以下步骤 首先,根据屏幕截图设置故事板Id“GameViewController”。 然后将pushGameViewController功能替换为以下功能
@objc func pushGameViewController() {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let destinationVC = storyboard.instantiateViewController(withIdentifier: "GameViewController")
self.navigationController?.pushViewController(destinationVC, animated: true)
}
确保在界面生成器中为视图控制器提供名为GameViewController的情节提要id
确保在界面生成器中为视图控制器提供名为GameViewController的情节提要id是否调用pushGameViewController?使用print或断点来查找。应该在点击按钮时调用它,但我将使用print语句来确保。是否调用pushGameViewController?使用print或断点来查找。应该在点击按钮时调用它,但我将使用print语句来确保。