如何设置tab bar controller的启动页面

frequent 2015-04-21 06:23:42
我的app使用的是tab bar controller,总共有三个tab,但我想让app启动后,自动打开第二个tab。
但现在我发现启动时打开的是第一个tab,该如何让它在打开时自动打开第二个tab呢?
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frequent 2015-04-22
  • 打赏
  • 举报
回复
引用 5 楼 zhangao0086 的回复:
[quote=引用 4 楼 frequent 的回复:] [quote=引用 3 楼 zhangao0086 的回复:] [quote=引用 2 楼 frequent 的回复:] [quote=引用 1 楼 zhangao0086 的回复:] 设置selectedIndex:

    UITabBarController *mainController = [[UITabBarController alloc] init];
    mainController.viewControllers = viewControllers;
    mainController.selectedIndex = 1;
谢谢!请问这些代码该放在哪里呢?另外第二句等于后面的viewControllers是什么呢?[/quote] 这是用代码初始化 UITabBarController的方式,你的UITabBarController 是怎么初始化的?看样子不是通过代码来初始化的吧,你设置 selectedIndex 就行了。viewControllers 的作用看文档。。。。[/quote] 对的,我没有用代码来初始化,完全在storyboard里面来初始化的。但我找了一下,没找到selectedIndex属性啊,该在哪里设置这个值呢?[/quote] storyboard 里貌似设置不了,你在 AppDelegate 里,如果 UITabBarController 是初始的 Controller 的话,你通过:self.window.rootViewController 就能获取到 UITabBarController,然后对它设置:

((UITabBarController *)self.window.rootViewController).selectedIndex = 1;
[/quote] 非常感谢!解决了。
Bannings 2015-04-22
  • 打赏
  • 举报
回复
引用 4 楼 frequent 的回复:
[quote=引用 3 楼 zhangao0086 的回复:] [quote=引用 2 楼 frequent 的回复:] [quote=引用 1 楼 zhangao0086 的回复:] 设置selectedIndex:

    UITabBarController *mainController = [[UITabBarController alloc] init];
    mainController.viewControllers = viewControllers;
    mainController.selectedIndex = 1;
谢谢!请问这些代码该放在哪里呢?另外第二句等于后面的viewControllers是什么呢?[/quote] 这是用代码初始化 UITabBarController的方式,你的UITabBarController 是怎么初始化的?看样子不是通过代码来初始化的吧,你设置 selectedIndex 就行了。viewControllers 的作用看文档。。。。[/quote] 对的,我没有用代码来初始化,完全在storyboard里面来初始化的。但我找了一下,没找到selectedIndex属性啊,该在哪里设置这个值呢?[/quote] storyboard 里貌似设置不了,你在 AppDelegate 里,如果 UITabBarController 是初始的 Controller 的话,你通过:self.window.rootViewController 就能获取到 UITabBarController,然后对它设置:

((UITabBarController *)self.window.rootViewController).selectedIndex = 1;
frequent 2015-04-22
  • 打赏
  • 举报
回复
引用 3 楼 zhangao0086 的回复:
[quote=引用 2 楼 frequent 的回复:] [quote=引用 1 楼 zhangao0086 的回复:] 设置selectedIndex:

    UITabBarController *mainController = [[UITabBarController alloc] init];
    mainController.viewControllers = viewControllers;
    mainController.selectedIndex = 1;
谢谢!请问这些代码该放在哪里呢?另外第二句等于后面的viewControllers是什么呢?[/quote] 这是用代码初始化 UITabBarController的方式,你的UITabBarController 是怎么初始化的?看样子不是通过代码来初始化的吧,你设置 selectedIndex 就行了。viewControllers 的作用看文档。。。。[/quote] 对的,我没有用代码来初始化,完全在storyboard里面来初始化的。但我找了一下,没找到selectedIndex属性啊,该在哪里设置这个值呢?
Bannings 2015-04-22
  • 打赏
  • 举报
回复
引用 2 楼 frequent 的回复:
[quote=引用 1 楼 zhangao0086 的回复:] 设置selectedIndex:

    UITabBarController *mainController = [[UITabBarController alloc] init];
    mainController.viewControllers = viewControllers;
    mainController.selectedIndex = 1;
谢谢!请问这些代码该放在哪里呢?另外第二句等于后面的viewControllers是什么呢?[/quote] 这是用代码初始化 UITabBarController的方式,你的UITabBarController 是怎么初始化的?看样子不是通过代码来初始化的吧,你设置 selectedIndex 就行了。viewControllers 的作用看文档。。。。
frequent 2015-04-22
  • 打赏
  • 举报
回复
引用 1 楼 zhangao0086 的回复:
设置selectedIndex:

    UITabBarController *mainController = [[UITabBarController alloc] init];
    mainController.viewControllers = viewControllers;
    mainController.selectedIndex = 1;
谢谢!请问这些代码该放在哪里呢?另外第二句等于后面的viewControllers是什么呢?
Bannings 2015-04-21
  • 打赏
  • 举报
回复
设置selectedIndex:

UITabBarController *mainController = [[UITabBarController alloc] init];
mainController.viewControllers = viewControllers;
mainController.selectedIndex = 1;

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧