/ / Kontroler widoku pop do wspólnego kontrolera widoku - ios, cel-c, kontroler uinavigation

Sterownik widoku pop do wspólnego kontrolera widoku - ios, cel-c, kontroler uinavigation

Jestem aplikacją typu Dashboard i w pewnym momencieChciałbym wrócić do kontrolera widoku "Pulpit nawigacyjny". Nie mogę zmienić kontrolera widoku głównego. Sposób, w jaki wykonałem to zadanie, jest statyczną instancją. Używam tego kodu:

static DashboardViewController *instance;
+ (instancetype) instance {
return instance;
}

To wystąpienie jest ustawione w viewDidLoad na siebie.

Więc kiedy chcę pop do tego kontrolera używam:

  [self.navigationController popToViewController:[DashboardViewController instance] animated:YES];

Co lubię wiedzieć, czy to jest droga, czy powinna być inna?

Odpowiedzi:

4 dla odpowiedzi № 1

Spróbuj tego,

for (UIViewController  *viewController in [self.navigationController viewControllers]) {

//you can also use NSClassFromString(@"DashboardViewController") instead of [DashboardViewController class]
if ([viewController isKindOfClass:[DashboardViewController class]]) {
[self.navigationController popToViewController:viewController animated:YES];
}
}

3 dla odpowiedzi № 2
for (UIViewController *controller in self.navigationController.viewControllers)
{
if ([controller isKindOfClass:[DashboardViewController class]])
{
//Do not forget to import DashboardViewController.h

[self.navigationController popToViewController:controller animated:YES];
break;
}
}