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

Laz*_*Lex 9 iphone objective-c uitabbarcontroller ios

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

tabBarController.selectedIndex = 1;
Run Code Online (Sandbox Code Playgroud)

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

做了一些谷歌搜索并查看了许多不同的资源,并且还没有找到最初使用Apple的模板Tab Bar Application创建的应用程序的解决方案.

lna*_*ger 30

由于这是初始视图控制器,并且不是子类,因此您需要在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;
}
Run Code Online (Sandbox Code Playgroud)

  • 你很棒.工作得很完美.有道理我必须在AppDelegate中这样做,因为它是初始视图控制器.谢谢. (2认同)