Как я могу получить доступ к экземпляру _tabBar из UITabBarController

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

  •  22-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь получить доступ к экземпляру _tabBar из UITabBarController. Я пытаюсь скрыть tabBar в определенных ситуациях, для этого я добавил расширение для UITabBarController, где я могу получить доступ к экземпляру _tabBar и вызвать сообщение setHidden. Это работает при компиляции для симулятора, но когда я компилирую для устройства, я получаю следующую ошибку

" _OBJC_IVAR _ $ _ UITabBarController._tabBar " ;, на который ссылается:       _OBJC_IVAR _ $ _ UITabBarController._tabBar $ non_lazy_ptr в UITabBarController + TabBar.o

Что мне нужно добавить в флаги моего компилятора? и почему это работает при компиляции для симулятора.

Заранее спасибо.

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

Решение 2

Он доступен с iPhone OS 3.0

Другие советы

Согласно Документам для UITabBarController:

  

Вы никогда не должны пытаться манипулировать   сам объект UITabBar хранится в   это свойство. Если вы пытаетесь сделать   Итак, представление панели вкладок бросает   исключение. Чтобы настроить элементы для   интерфейс панели вкладок, вы должны   вместо этого назначьте одно или несколько пользовательских представлений   контроллеры для viewControllers   имущество. Панель вкладок собирает   необходимые элементы панели вкладок из представления   контроллеры, которые вы указываете.

     

Представление панели вкладок, предоставляемое этим   свойство только для ситуаций, когда   Вы хотите отобразить лист действий   используя showFromTabBar: метод   класс UIActionSheet.

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

В суперклассе UITAbBarController может быть другой API, который будет это делать. Если нет, вы можете пройти через иерархию подпредставлений и скрыть необходимую.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top