Приложение для вкладок iOS с просмотром таблицы, как сбросить вкладку «Просмотр таблицы»? Новичок.
-
27-10-2019 - |
Вопрос
У меня есть приложение с вкладками с 3 вкладками
Первая вкладка - это просмотр таблицы, вторая и третья вкладки - одностраничные представления
Когда пользователь нажимает на ячейку таблицы в виде одного, новое представление нажимается с помощью кнопки с обратной стороной к ячейке таблицы.
Теперь скажем, что они нажимают вкладку 2, затем вернемся к вкладке 1. Новое представление, которое было натолкнуто на вкладке 1, все еще видно. Что я хотел бы, чтобы представление о таблице «сбросить», когда они уходят от нее с другой вкладкой, чтобы, когда они возвращались, они представляли представление о таблице вместо нового представления, который был нажат.
Решение
Я согласен с комментарием Eljay, но чтобы ответить на вопрос, используйте uitabbarcontrollerdelegate
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
Когда выбран новая вкладка, посмотрите, является ли текущая вкладка 1 tabBarController
и если это так popToRootViewController:
Другие советы
Как сказали другие, это, вероятно, не очень хороший пользовательский опыт. Идея контроллера вкладок заключается в том, что она позволяет пользователю свободно переключаться между различными частями своего приложения и возвращается к тому, что они делали раньше.
Если вы полны решимости сделать это таким образом, сделайте контроллер вашего контроллера навигационного представления на пользовательском подклассе и установите его в качестве делегата контроллера стержня вкладок.
В вашем пользовательском контроллере представления реализовать функцию shupelect (), как ниже:
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool
{
if viewController == self.navigationController {
self.navigationController.popToRootViewController()
}
return true
}
Раскрытие: я не пытался собрать приведенный выше код, а тем более проверить его.