Ich habe eine UITabBarController
mit drei Registerkarten. Wenn eine bestimmte Taste gedrückt wird, möchte ich, dass der Benutzer sofort eine Personenansichtssteuerung (eine Instanz der Klasse ABPersonViewController
) sieht.PersonViewController in TabBarController
Ich möchte nicht nur die presentViewController()
Methode mit einer Person View-Controller als Parameter verwenden, weil dies zu einer Verzögerung führt, wenn der Benutzer den zugrunde liegenden View-Controller sehen kann, aus dem es präsentiert wird.
Ich kann auch nicht die View-Controller erben von ABPersonViewController
, weil es von Apple festgelegt ist, so dass es nicht unterklassifiziert werden kann. Gibt es eine Möglichkeit, dies zu erreichen?
Dank JAL Antwort:
func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool {
let navViewController = viewController as! UINavigationController
// First, check to see if the view controller is the one you want to override
if let myViewController = navViewController.viewControllers[0] as? ThirdViewController {
let abpvc = ABPersonViewController()
abpvc.personViewDelegate = self
self.navigationController?.pushViewController(abpvc, animated: true)
return false
}
return true
}
Bitte kopieren Sie keine Antwort in Ihre Frage. Wenn eine Antwort Ihnen geholfen hat, können Sie sie aufwerten und akzeptieren. Aber eine Antwort gehört nicht in die Frage. – Rizier123