如何以编程方式更改初始选项卡栏选择

时间:2012-05-03 23:46:33

标签: iphone objective-c ios uitabbarcontroller

在更改应用程序上的初始标签栏选择时遇到问题(即,在应用程序启动时选择中间选项卡而不是最左边的选项卡)。该应用程序使用故事板,后期通过故事板方法添加了标签栏控制器。

tabBarController.selectedIndex = 1;

上面的代码不起作用(因为我没有自定义视图控制器连接到我的标签栏,只是默认的UITabBarController):

完成了一些谷歌搜索并查看了许多不同的资源,并且找不到最初使用Apple的模板标签栏应用程序创建的应用程序的解决方案。

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:1)

tabBar setSelectedItem:尝试在viewDidLoad

中使用此功能