Как установить свойство элементов UITabBars при доступе через UITabBarController? - PullRequest
1 голос
/ 09 июня 2010

Я программно собрал UITabBarController и заполнил его свойство viewControllers. Когда я запускаю это, кнопки tabBar, разумеется, пусты, я пытался получить доступ к свойству tabBar в UITabBarController, чтобы установить его свойство items для моего текста / изображений, что привело к падению приложения.

Просматривая документацию для UITabBarController, я прочитал это под свойством tabBar:

Связанный вид панели вкладок с этим контроллером. (Только для чтения)

@ свойство (неатомное, только для чтения) UITabBar * Обсуждение tabBar Вы никогда не должны пытаться манипулировать UITabBar Сам объект хранится в этом свойстве. Если вы попытаетесь это сделать, панель вкладок представление выдает исключение. Настроить элементы для интерфейса панели вкладок, вместо этого вы должны назначить один или несколько настраиваемые контроллеры представления к свойство viewControllers. Панель вкладок собирает необходимые элементы панели вкладок из указанные контроллеры вида.

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

Вот что я хочу:

Панель вкладок собирает нужную вкладку исключать элементы из контроллеров представления Вы указываете.

Также имеет смысл, что вы не настраиваете панель вкладок в одном месте, а содержимое - в другом.

Но как мне определить эти элементы в моих viewController, которые относятся к типу UINavigationController, с моим пользовательским ViewController в качестве rootController?

Есть ли какой-то протокол помимо UITabBarControllerDelegate, который мне нужно реализовать?

Надеюсь, кто-то может указать мне правильное направление, я не ожидал, что это произойдет :) Спасибо

1 Ответ

1 голос
/ 09 июня 2010

Как правило, элементы панели вкладок заполняются именем контроллера представления, который вы загружаете в него.

В вашем случае вы можете сделать одну вещь,

[tabbarContrller.tabBarItem initWithTitle:@"rafsfsa" image:[UIImage imageName:@"some.png" tag:0];

Ответьте, если получите это.

...