Я относительно новичок в Swift и iOS и не могу найти ответ или любую помощь для моей проблемы, которая работает.
Я хочу создать представление контроллера навигации, когда я нажимаю на кнопку в моем предыдущем представлении. Мой предыдущий вид - это регистрация с кнопкой на последней странице. Я успешно подключил кнопку к следующему представлению, но не могу заставить представление действовать как контроллер навигации. Например, когда отображается панель навигации, я не могу добавить к ней элементы навигации.
Есть ли способ установить новое представление, которое я создаю, нажав кнопку в первом представлении, чтобы стать корневым контроллером для моего вида навигации?
Краткая версия моего кода:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(frame: CGRect(x: view.frame.width / 2, y: view.frame.height / 2, width: 40, height: 40))
button.backgroundColor = .red
button.tintColor = .white
button.setTitle("Test", for: .normal)
button.addTarget(self, action: #selector(change), for: .touchUpInside)
view.addSubview(button)
}
func change () {
let otherView = SecondViewController()
self.present(otherView, animated: true, completion: nil)
}
}
class SecondViewController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .yellow
}
}
SecondViewController отображается с панелью навигации, но у меня были проблемы с реализацией элементов навигации, потому что они не отображались.
Второй контроллер представления, который я представляю, должен иметь тип UIViewController или UINavigationController?
Я знаю, что есть более простые способы достижения моей цели с использованием раскадровки, но, на мой взгляд, я понимаю это лучше, делая свои собственные ссылки с помощью кода, а не создавая их, перетаскивая их из раскадровки.
Изменение: У меня нет фона Objective-C и изучения Swift в течение примерно 4 недель.