Как узнать - просмотреть текущий вид контроллера в iphone

StackOverflow https://stackoverflow.com/questions/1401080

Вопрос

Давайте приведем пример.

  • В приложении у меня есть контроллер панели вкладок.
  • Панель вкладок динамически содержит два элемента - два контроллера представления.
  • Пользователь может выбрать любую из вкладок.
    • Предположим, пользователь выбирает первую вкладку.
    • Контроллер первого вида уже загружен.
    • Теперь он нажимает на кнопку контроллера первого вида.
    • Нажимается из Первого контроллера вида -> Второй контроллер вида.
  • Теперь, когда пользователь нажимает на первый элемент панели вкладок
    • выскакивает второй вид.

По умолчанию это делается с помощью контроллера панели вкладок.Теперь, если я хочу проверить следующее условие

  • если (первый элемент панели вкладок-view controller имеет первый вид контроллера просмотра)
    • затем выполните это
  • если (первый элемент панели вкладок-view controller имеет вид второго view controller)
    • затем выполните это

Как реализовать эту логику?

Это было полезно?

Решение

Если вы используете UITabBarController, вы можете использовать его свойство selectedViewController, чтобы узнать, какой контроллер просмотра находится на экране, поэтому, если у вас есть два подкласса контроллеров просмотра FirstViewController и SecondViewController, вы можете сказать

if([[tabBarController.selectedVIewController isKindOfClass:[FirstViewController class]])
 //... do something
else ...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top