I UITabBarControllerDelegate Veranstaltung umgesetzt:Wie kann ich kündigen in didSelectViewController Falle UITabBarControllerDelegate Protokoll einen View-Controller öffnen
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
if (viewController == [tabBarController.viewControllers objectAtIndex:0]) {
//HERE:check some condition and cancel opening the viewController if needed
}
}
In obigen Funktion, nachdem eine Bedingung überprüft, würde Ich mag App etwas, was sonst noch (dh eine weitere Öffnung View-Controller), anstatt den rechten View-Controller zu öffnen, der auf dem Tab-Bar-Element ausgewählt wurde. Das Verhalten des Ereignisses:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
stimmt nicht mit meiner Nachfrage überein.
Wie kann sumoutSelectViewController nicht Ihren Anforderungen entsprechen? Überprüfen Sie einfach auf Ihren Zustand. Wenn es übereinstimmt, machen Sie den Teil "etwas anderes" und geben Sie NO zurück, andernfalls geben Sie einfach YES in dieser Methode zurück. – mrueg
Ich möchte den Lichteffekt auf Balkenelement haben und eine andere Ansicht öffnen, wenn der Benutzer es berührt. Wenn Sie den sentSelectViewController verwenden und NO zurückgeben, hat dies keine Auswirkungen auf dieses Element. –