iOS приложение с вкладками с табличным представлением, как сбросить вкладку табличного представления?Начинающий. - PullRequest
0 голосов
/ 12 января 2012

У меня есть приложение с вкладками с 3 вкладками

Первая вкладка представляет собой представление таблицы. Вторая и третья вкладки представляют собой представления одной страницы

Когда пользователь нажимает на ячейку таблицы в представлении 1новое представление добавляется с помощью кнопки «Назад» к ячейке таблицы.

Теперь предположим, что они нажимают на вкладку 2, а затем возвращаются на вкладку 1. Новое представление, которое было помещено на вкладку 1, все еще отображается.Я хотел бы, чтобы табличное представление «сбрасывалось», когда они уходят от него с другой вкладкой, чтобы при возврате они отображались в табличном представлении вместо нового, который был добавлен.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2016

Как уже говорили другие, это, вероятно, не очень хороший пользовательский опыт. Идея контроллера вкладок заключается в том, что он позволяет пользователю свободно переключаться между различными частями своего приложения и возвращаться к тому, что он делал раньше.

Если вы решили сделать это таким образом, то сделайте корневой контроллер контроллера представления навигации пользовательским подклассом и установите его в качестве делегата контроллера панели вкладок.

В вашем собственном контроллере представления реализуйте функцию shouldSelect (), как показано ниже:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool
{
  if viewController == self.navigationController {
    self.navigationController.popToRootViewController()
  }
  return true
}

Раскрытие: я не пытался скомпилировать код выше, тем более протестировать его.

0 голосов
/ 13 января 2012

Я согласен с комментарием ElJay, но для ответа на вопрос используйте UITabBarControllerDelegate

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

когда выбрана новая вкладка, посмотрите, является ли текущая вкладка свойство selectedIndex вкладки tabBarController и, если да, popToRootViewController:

...