Я использую комбинацию цели С и быстрое 3.ViewController загрузки дважды
В моей MainView (Objective C) У меня есть следующие
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:[NSBundle mainBundle]];
CourseViewController *courseView = (CourseViewController*)[storyboard instantiateViewControllerWithIdentifier:@"courseView"];
[self.navigationController pushViewController:courseView animated:YES];
В моей раскадровки, мой MainView будет показывать Контроллер навигации, который является rootView для быстрого просмотра.
В стремительном контроллер 3 вида у меня есть следующие и loadView и viewDidLoad вызывается дважды
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()
}
Любое предложение о том, почему он вызывается дважды?
Кроме того, я пытаюсь уволить этот вид, чтобы вернуться к mainView, но он не вызван, если я использую контроллер навигации в режиме быстрого просмотра 3. Я пробовал следующее. Нужно ли использовать segue, чтобы вернуться в mainView?
self.dismiss(animated: true, completion: nil)
_ = self.navigationController?.popToRootViewController(animated: true)
Почему инстанцирование контроллера представления в явном виде при использовании раскадровки в любом случае? – vadian
У вас есть segue, созданный в 'Storyboard' между двумя viewControllers? – dirtydanee
У меня есть настройка в раскадровке между двумя видами. В представлении курса есть навигационный контроллер в качестве корневого представления. Я создаю экземпляр явно, потому что я делаю это в объективе c, не знаю, как это изменяется, когда я выполняю задачу c с помощью Swift. Если я не создаю экземпляр, представление не будет вызвано только с настройкой раскадровки. –