Ich bin eine Kombination aus Objective C und schnell 3.Viewcontroller Laden zweimal
In meinem Mainview (Objective C) unter Verwendung von I die folgende
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:[NSBundle mainBundle]];
CourseViewController *courseView = (CourseViewController*)[storyboard instantiateViewControllerWithIdentifier:@"courseView"];
[self.navigationController pushViewController:courseView animated:YES];
In meinem Drehbuch haben, wird meine Hauptansicht ein Zeigen Navigation Controller, der rootView zur Ansicht von swift 3 ist.
In der schnellen 3-View-Controller ich die folgenden Hinweise und die Loadview und viewDidLoad haben wird zweimal
override func loadView() {
webView = WKWebView()
//If you want to implement the delegate
webView?.navigationDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let temp: CGRect = UIScreen.main.bounds
screenSize = temp
let url = URL(string: kcourseURL)
let req = URLRequest(url: url!)
webView.allowsBackForwardNavigationGestures = true
webView.load(req)
//webView.frame = CGRect(x:0, y:navBarHeight, width:Int(screenSize.width), height:Int(screenSize.height))
webView.addObserver(self, forKeyPath: #keyPath(WKWebView.estimatedProgress), options: .new, context: nil)
self.setBarButton()
}
Jeder Vorschlag auf, warum es zweimal aufgerufen wird? Genannt
Auch ich versuche, diese Ansicht zu verlassen, um zurück zur Hauptansicht zu gehen, aber es wird nicht aufgerufen, wenn ich einen Navigationscontroller in der schnellen 3 Ansicht verwende. Ich habe Folgendes versucht. Muss ich eine Abschaltung verwenden, um zur Hauptansicht zurückzukehren?
self.dismiss(animated: true, completion: nil)
_ = self.navigationController?.popToRootViewController(animated: true)
Warum instanziieren Sie den View-Controller explizit, wenn ohnehin Storyboard verwenden? – vadian
Haben Sie ein Segment in Storyboard zwischen den beiden ViewControllern? – dirtydanee
Ich habe im Storyboard zwischen der 2-Ansicht ein Segment eingerichtet. Die Kursansicht hat einen Nav-Controller als Root-Ansicht. Ich instanziiere die Ansicht explizit, weil ich das in Ziel c mache, weiß nicht, wie sich das ändert, wenn ich eine objektive c-Implementierung durchführe. Wenn ich es nicht instanziiere, wird die Ansicht nicht nur mit dem Storyboard-Setup aufgerufen. –