Ich habe eine viewController
mit segmentedControl
. Ich habe eine VCA und VCB, die in der segmentedControl
sind. Wenn ich auf das zweite Segment klicke, erscheint VCB. Jetzt dränge ich einen anderen ViewController von VCB. Aber wenn von diesem ViewController zurückgekommen wird, wird viewDidAppear
von VCA aufgerufen. Was mir fremd ist. Weil der Benutzer auf dem VCB ist, warum also die viewWillAppear
und viewDidAppear
von VCA aufgerufen werden? Hier ist ein Diagramm, mehr zu erklärenviewDidAppear heißt Strangley
Dies ist, wie ich bin Viewcontrollers Zugabe
segmentedControlfunc switchToViewController(viewController: UIViewController, selectedIndex: Int) {
viewController.removeFromParentViewController()
viewController.view.removeFromSuperview()
addChildViewController(viewController)
viewController.view.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(viewController.view)
// Setting constraints of the container view
NSLayoutConstraint.activate([
viewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
viewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0),
viewController.view.topAnchor.constraint(equalTo: view.topAnchor, constant: 50),
viewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0)
])
viewController.didMove(toParentViewController: self)
}
Ich bin nur nicht in der Lage, das Verhalten zu verstehen. Also bitte führe mich.
ist viewcontroller mit segmentierter Steuerung und VCA gleich? – Priyal
nein Sie sind nicht gleich. viewController mit segmentiertem Control ist ein anderes VC lasst es VCSegmentedControl nennen –
Warum entfernst du 'viewController' und fügst dir' viewController' hinzu? –