Как программно установить представление для моего tabBarController?

У меня есть tabBarController xib. Я установил класс первого элемента для контроллера представления, который я сделал (файлы .h и .m, без .xib). Когда я пытаюсь нажать tabBarController, я получаю предупреждение о том, что tabBarController «выход представления не установлен».

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

Предложения?


person quantumpotato    schedule 09.08.2010    source источник


Ответы (1)


Обычно вы добавляете контроллеры представления в контроллер панели вкладок в файле xib. У них должно быть подключено представление, что вы также можете сделать в IB.

Если вы хотите сделать это программно, вы должны после загрузки xib, но до показа vc, взять элементы

NSArray *vcs = [tbCtrl viewControllers];

пройдитесь по ним и установите их свойство view в представление. При нажатии контроллер панели вкладок будет знать, какое представление загружать: а именно представление первой вкладки. С этими вещами действительно намного проще справиться в IB.

person mvds    schedule 09.08.2010
comment
@quantumpotato Короче говоря, вы должны изменить массив viewControllers вашего tabbarViewController. - person Madhup Singh Yadav; 10.08.2010
comment
@Madhup: я не думаю, что это правильно, кажется, что контроллеры представлений есть (читая вопрос), но представления - нет. Изменение массива viewControllers не поможет. - person mvds; 10.08.2010
comment
Я только что резюмировал ваш ответ, предупреждение связано с тем, что представление в XIB не связано с представлением viewControllers. - person Madhup Singh Yadav; 10.08.2010