Я создал простой проект с двумя ViewController (ViewController и SecondV C) программно. В ViewController я добавил кнопку, которая pu sh до SecondV C. В AppDelegate didFinishLaunchingWithOptions
я установил ViewController как rootViewController.
Код ViewController:
class ViewController: UIViewController {
let button = UIButton.init(frame: CGRect(x: 30, y: 30, width: 200, height: 200))
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .brown
view.addSubview(button)
button.backgroundColor = .black
button.addTarget(self, action: #selector(tapped), for: .touchUpInside)
}
@objc func tapped() {
let vc = SecondVC()
self.navigationController?.pushViewController(vc, animated: true)
}
}
SecondV C код:
class SecondVC: UIViewController {
override func viewDidLoad() {
view.backgroundColor = .white
}
}
Код AppDelegate:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var navigationController: UINavigationController?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
if let window = window {
let mainVC = ViewController()
navigationController = UINavigationController(rootViewController: mainVC)
window.rootViewController = navigationController
window.makeKeyAndVisible()
}
return true
}
В информации о развертывании целей я удалил главный интерфейс:
![Image of Main Interface](https://i.stack.imgur.com/VKeqF.png)
При запуске приложения в моем приложении нет навигации ViewController, поэтому, когда я нажимаю на кнопку, navigationController
равен нулю, и ничего не происходит. Не удается найти проблему на второй день, пожалуйста, помогите понять, где проблема. Я использую источники XCode 11.3
, подобные этим, мне не помогает Программное создание навигационного контроллера (Swift)