2

Я работаю над приложением, где у меня есть UINavigationController, встроенный в UITabBarController. В UINavigationController есть UITableView, который переходит в DetailController, когда ячейка подключена.Dismiss DetailController, когда вкладка UITabBar изменена?

Мой вопрос: я выбираю ячейку на [TAB1] и переход к DetailController. Если я выберу [TAB2], а затем вернитесь к [TAB1] его еще на контроллере детали. Есть ли когда-либо, когда [TAB2] выбрано так, что я могу раскрутить/отклонить DetailController на [TAB1] (т. Е. Снова отображает ячейки таблицы).

Моя другая линия мышления, что делает это не оставит интерфейс в состоянии пользователь оставил его, т.е. после просмотра DetailController и нажав [TAB2] возвращение к [TAB1] представит пользователь с ячейками в UITableView. Он чувствует себя лучше, для применения для возврата DetailController если оставить TAB, поэтому я прошу ...

NB: I present the *DetailController* via a push segue from the UITableViewCell .

ответ

2

Вы можете реализовать UITabBarControlleDelegate и вернуться к корневой вид UINavigationController с использованием popToRootViewControllerAnimated: при изменении вкладок.

Пример кода:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
    tabBarController.delegate = self; 
    return YES; 
} 

    - (BOOL)tabBarController:(UITabBarController *)tabBarController 
shouldSelectViewController:(UIViewController *)viewController 
{ 
    UIViewController *currentController = tabBarController.selectedViewController; 
    if ([currentController isKindOfClass:[UINavigationController class]]) 
     [(UINavigationController *)currentController popToRootViewControllerAnimated:NO]; 
    return YES; 
} 
+0

Для реализации этого вы бы сделать UINavigationController UITabBarControllerDelegate для UITabBarController. Я правильно понимаю это? – fuzzygoat

+0

Нет, вы можете установить 'UIAppDelegate' для делегирования' UITabBarControllerDelegate' –

+1

Очень ценим Сергея, большое спасибо за расширение вашего ответа, теперь я его получаю. – fuzzygoat

Смежные вопросы