2014-02-11 2 views
0

У меня есть TabBar с 3 кнопками, 2-я и 3-я кнопки имеют переход к тому же контроллеру, который должен показывать различную информацию в зависимости от одного параметра.Добавить параметры в TabBar Storyboard segue

enter image description here

Я переопределен TabBar класса implement.-

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender; 

, чтобы иметь возможность добавить свои параметры непосредственно перед выполнением SEGUE, но я должен отсутствовать что-то очевидное, потому что prepareForSegue не вызывается.

Есть ли все-таки для достижения этого без программного создания пользовательских segues?

+0

Вы уверены, что не получили вызов? Это звучит очень необычно. – 68cherries

+0

Я не тестировал это, но, возможно, переопределял tabBar: didSelectItem: в вашем UITabBarDelegate помогает. Ваш UITabBarDelegate, вероятно, является вашим UITabBarController. – Nero

+0

Может просто сделать это в 'viewDidLoad' вашего класса TabBar. Итерация над 'viewControllers' и настройка их по мере необходимости? –

ответ

2

Согласно мне, вы не можете взаимодействовать с segue, связанным как «корневые» контроллеры. Эти segue не «получают вызов», поскольку они не представляют собой переход между двумя контроллерами представлений.

Если вы посмотрите на Interface Builder, для этого типа настроек не будет никаких настроек.

У меня была аналогичная проблема в одном из моих проектов и решить проблему путем программирования программ. После этого вы добавляете свой контроллер просмотра в раскадровку и устанавливаете «Идентификатор раскадровки» в правой панели.

Затем вы можете создать экземпляр контроллера вид, делая

[self.storyboard instantiateViewControllerWithIdentifier:@"YOUR_VIEW_CONTROLLER_ID"]; 

И повлиять на них на ваш UITabBarController делая

[self setViewControllers:viewControllers]; 

Надежда эта помощь!

+0

Спасибо @foOg, а не решение, которое я искал, но я буду помнить это как последний ресурс. – ssantos

+0

Мне интересно, если вы найдете лучшее решение :) – foOg

0

Не уверен, что это лучшая практика, но я, наконец, в конечном итоге получить выбранную вкладку из моего controllers.-

self.tabBarController.selectedIndex 

Этот простой способ, я знаю, что информацию я должен показать, не меняя свою storyboard segues.

Смежные вопросы