UITabBarController - Wie der Zugriff auf einen view controller?
Ich habe einen uitabbarcontroller, die enthält mehrere Registerkarten und viewControllers.
Ich bin versucht, eine Schleife durch die view-Controller, um das richtige zu finden und eine Methode aufrufen.
aber die Art der view-controller habe ich bekommen, jedes mal, wenn ich die Schleife Durchlaufen ist ein UINavigationController. Wie also kann ich einfach den Zugriff auf einen view-controller in meiner tabBar?
for (UIViewController *v in self.tabBar.viewControllers)
{
if ([v isKindOfClass:[MyViewController class]])
{
MyViewController *myViewController = v;
[v doSomething];
}
}
InformationsquelleAutor aryaxt | 2010-11-29
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie wahrscheinlich auch UINavigationControllers an der Wurzel Ihres Tabs, also das, was Sie tun möchten ist, den Zugriff auf die ViewController angezeigt, indem die UINavigationController.
Versuchen, ändern Sie den code wie folgt:
Dies kann erreicht werden in swift in einer mit einem array-filter:
Die Sie nicht wirklich wollen, dies zu tun mehr... Das ist besser für NSNotificationCenter.
In 2 Zeilen code, können Sie die gleichen Dinge getan, ohne all die extra-drama mit dem Fahrrad durch view-controller-arrays. Siehe diesen Beitrag:
NSNotificationCenter addObserver in Swift
Swift 4, um ViewController aus UITabBarController.