Позвольте мне начать с моего вопроса, а затем объяснить, что я пытаюсь сделать, если люди не понимают вопрос.
Я хочу использовать Центр уведомлений, чтобы перехватить событие из UITabBarController. Я пытаюсь определить, когда вкладка была изменена. В документации я вижу, что могу получить это событие, если использую делегата. Тем не менее, у меня есть два отдельных контроллера представления в моем TabBarController, и оба должны знать, активны ли они. Есть ли способ узнать, отправляет ли соответствующее событие уведомление? Должен ли я создать своего собственного делегата и самому отправить уведомление?
Все началось, когда я решил, что моя программа должна иметь другой вид в зависимости от ориентации. Я написал свою программу, чтобы на верхнем уровне была панель вкладок с двумя вкладками. Одна - это программа, другая - окно «о». Когда я поворачиваю устройство, мне нужно изменить вид на первой вкладке и второй вкладке. Мне удалось заставить это работать, слушая уведомления устройства, которые предупреждают вас, когда устройство поворачивается. Затем я меняю вид в контроллере в зависимости от ориентации. Проблема, которую я вижу, состоит в том, что оба контроллера получают эти уведомления, и я не нашел способ для невыбранной вкладки больше не получать такие уведомления. Моя идея состояла в том, чтобы прослушать, какая вкладка была выбрана, а затем удалить другую из уведомлений поворота. Это еще не работает.
Итак, я понятия не имею, имеет ли это какой-то смысл, но мне любопытно посмотреть, что люди говорят и предлагают.
Резюме:
Как узнать, какие уведомления доступны?
Должен ли я создать делегата и запустить свои собственные уведомления?
Есть ли лучший способ поменять ваш взгляд на вращение?