IPhone Dev: активировать вид кнопки tabBar - PullRequest
1 голос
/ 29 июля 2009

У меня есть приложение, которое имеет вкладку, которая обрабатывает все представления. На первый взгляд у меня есть процесс входа в систему. Когда этот процесс завершится, я хочу автоматически перейти ко второму представлению tabBar, не заставляя пользователя нажимать соответствующую кнопку tabBar.

Все, что у меня есть до сих пор, это выделение кнопки следующим образом:

myTabBar.selectedItem = [myTabBar.items objectAtIndex:1];

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

Есть идеи о том, как это сделать? Является ли это возможным? Это будет высоко ценится. Спасибо.

Ответы [ 3 ]

1 голос
/ 11 июня 2011

вы должны реализовать протокол UITabBarControllerDelegate, как описано здесь: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarControllerDelegate_Protocol/Reference/Reference.html

, чтобы изменить активную вкладку, используйте tabBarController: shouldSelectViewController: Как объясняется в документации «Этот метод можно использовать для динамического решения о том, следует ли сделать данную вкладку активной вкладкой».

1 голос
/ 29 июля 2009

Используйте selectedViewController или selectedIndex методов соответствующих UITabBarController .

В ответ на комментарии к этому ответу я привел пример того, как этого можно достичь:

id firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:[NSBundle mainBundle]];
id secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:firstViewController, secondViewController, nil];

[firstViewController release];
[secondViewController release];

// Select the second tab bar item and its view
self.tabBarController.selectedIndex = 1;

[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];

В моем тестировании кажется, что использование метода selectedViewController UITabBarController для установки текущего представления не обновляет свойство selectedIndex (отображается новое представление, но выбранный UITabBarItem не изменяется). Это противоречит поведению, обещанному в документации. Однако использование метода selectedIndex, как показано в приведенном выше фрагменте кода, должно работать нормально.

0 голосов
/ 30 июля 2009
...