У меня есть приложение с UITabBarController, где первая вкладка содержит ViewController из HomePage.Что мне нужно сделать, это переключаться между вкладками (это довольно просто: [[self tabBarController] setSelectedIndex: index]), И для навигации по выходам выбранного Tab из "HomePage".
Просточтобы объяснить себя: TabElement1 ---> TabElementX ----> UISegmentedController: сегментY
Проблема в том, что UISegmentedController равен нулю, поскольку он еще не инициализирован (по крайней мере, в первый раз, когда я делаю операцию).Как мне решить эту проблему?Элементы вкладок загружаются с помощью перьев.
EDIT-- Вот некоторый код:
@implementation HomeViewController // Tab Indexed 0
// ...
- (void)playVideoPreview {
NSArray *array;
array = [[self tabBarController] viewControllers];
// This is a test where I programmatically select the tab AND the switch.
[[[array objectAtIndex:2] switches] setSelectedSegmentIndex:1];
[[self tabBarController] setViewControllers:array];
}
@end
@implementation TGWebViewController // Tab Indexed 2
// ...
@synthesize switches; // In .h file: @property (nonatomic, retain) IBOutlet UISegmentedControl switches; Properly linked within the XIB.
- (IBAction)switchHasChangedValue {
// Foo operations.
}
Теперь, когда я в первый раз запускаю playVideoPreview, мне удается попасть во вкладку Indexed 2, TGWebViewController, нопереключателей еще не существует, поэтому я нахожусь с сегментированным элементом управления с именем «переключатели» с выбранным первым сегментом.Если я возвращаюсь в HomeViewController, то я снова запускаю playVideoPreview, я получаю правильное поведение.