Przebudowuję aplikację bez scenorysów, a jej część, z którą mam najwięcej problemów, polega na programowym przeglądaniu widoku do wyświetlenia. Niewiele jest napisanych rzeczy, które nie używają scenorysów, więc znalezienie odpowiedzi na to było trudne.Swift - Tworzenie kontrolera nawigacji bez scenorysów w Delegacie aplikacji
Mój problem jest dość prosty. Mam swój ViewController
i mój SecondViewController
i chcę przejść od pierwszego do drugiego.
W AppDelegate
:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.backgroundColor = UIColor.whiteColor()
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
return true
}
Następnie w ViewController.swift
:
class ViewController: UIViewController, AVAudioPlayerDelegate, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
startFinishButton.setTitle("Begin", forState: .Normal)
startFinishButton.addTarget(self, action: "moveToSecondViewController", forControlEvents: .TouchUpInside)
view.addSubview <*> startFinishButton
}
func moveToSecondViewController(sender: UIButton) {
let vc = SecondViewController()
println(self.navigationController) // returns nil
self.navigationController?.pushViewController(vc, animated: true)
}
}
Druk self.navigationController
zwraca zero. Próbowałem robić:
var navController = UINavigationController()
gdy klasa ViewController
jest tworzony (ale poza viewDidLoad, tuż pod deklaracji klasy) i zrobione push pomocą navController
var ale to nie działało.
Myślę, że może rozwiązaniem będzie stworzenie kontrolera nawigacyjnego w Delegacie aplikacji, który będzie używany przez całą aplikację, jak sądzę jako zmienna globalna?
Mam nadzieję, że ten post może służyć wielu innym, którzy są nowicjuszami w Swift i chcą usunąć storyboardy ze swojej aplikacji.
Dzięki za spojrzenie i za pomoc.
Co to jest niestandardowy kontroler nawigacji? – user7097242