Вопрос по iphone, ios, objective-c – Как программно изменить исходный выбор панели вкладок

9

Возникают проблемы с изменением начального выбора панели вкладок в приложении (т.е. при запуске приложения выбирается средняя вкладка, а не крайняя левая вкладка). Приложение использует раскадровки, а контроллер панели вкладок был добавлен позже в процессе разработки с помощью метода раскадровки.

<code>tabBarController.selectedIndex = 1;
</code>

приведенный выше код не работает (потому что у меня нет пользовательского контроллера представления, подключенного к моей панели вкладок, только UITabBarController по умолчанию):

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

Это начальный контроллер вида для проекта или он выдвинут из другого контроллера вида? lnafziger
контроллер панели вкладок является начальным контроллером представления. LazerLex

Ваш Ответ

2   ответа
29

а не подкласс, вам необходимо установить это в своем appDelegate.

В AppDelegate.m добавьте следующееapplication:didFinishLaunchingWithOptions: метод:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    // Select the left-most tab of our initial tab bar controller:
    UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
    tabBar.selectedIndex = 0;
    return YES;
}
Error: User Rate Limit Exceeded LazerLex
Error: User Rate Limit ExceededprepareForSegueError: User Rate Limit Exceeded
1

tabBar setSelectedItem: попробуйте использовать это в вашемviewDidLoad

Error: User Rate Limit Exceeded LazerLex
Error: User Rate Limit Exceeded LazerLex

Похожие вопросы