Доступ к TabBarItem из одного из ViewControllers - PullRequest
0 голосов
/ 05 августа 2009

Я ищу способ отключить TabBarItem из ViewController одной из вкладок TabBars. Я даже не уверен, что речь идет об иерархии представлений или о том, что действительно нужно искать. Я много пробовал, но не нашел решения.

Прямо сейчас я работал над этим, сохранив ссылку на панель вкладок в объекте singelton при создании экземпляра панели вкладок (внутри делегата приложения). Но я не думаю, что это лучший способ сделать это.

Спасибо и ура, Nils

Ответы [ 2 ]

1 голос
/ 31 августа 2010

У меня была такая же проблема, и я нашел решение (но я нахожу его немного грязным)

В вашем ViewController, где вы хотите отключить TabBarItem, создайте переменную UITabBarController *myTabBarController; со свойством.

В классе, где вы управляете вашим Tabbarcontroller, поместите этот код в viewDidLoad:

MyViewController * vc = (MyViewController *)[navigationController.viewControllers objectAtIndex:0];// O the index of the first view controller replace it with the index of the needed viewController
vc.myTabBarController = myTabBarController; // pass your TabBarController to your ViewController

Теперь вернемся к вашему ViewController классу (MyViewController) и используйте этот код для отключения tabBarItem:

UITabBarItem *mapTabBarItem= [[myTabBarController.tabBar items] objectAtIndex:1]; // I want to desable the second tab for example (index 1)
[mapTabBarItem setEnabled:NO];  

Обратите внимание, что это не лучший способ сделать это, но он работает: -)

0 голосов
/ 14 октября 2009

Может быть, я не понимаю, что вы хотите, но я отключил кнопку панели вкладок, зайдя в конструктор интерфейсов, затем выбрав кнопку вкладки, над которой я хочу работать (маленький синий цвет подсветки только на заполнителе для картинка, небольшая рамка с надписью?), затем -> Меню инструментов -> Инспектор -> Свойства элемента панели вкладок (первая вкладка слева в Инспекторе) -> затем небольшая радиокнопка внизу говорит "Включено" -> отмените это. У меня работает, так как я использую это как простой экран загрузки на первой вкладке. Надеюсь, это поможет. Кирк

...