我想在 DetailViewController 中以编程方式创建一个选项卡栏。我将拥有三个 ViewController:
- 评论
- 项目
- 优惠
我想在 TabBar 中按此顺序显示 3 个项目,但是当我来到 DetailView 时,我想首先显示 TabBar 中的第二个项目(位于中间的那个)。我如何创建我的 DetailViewController 来管理它?
我想在 DetailViewController 中以编程方式创建一个选项卡栏。我将拥有三个 ViewController:
我想在 TabBar 中按此顺序显示 3 个项目,但是当我来到 DetailView 时,我想首先显示 TabBar 中的第二个项目(位于中间的那个)。我如何创建我的 DetailViewController 来管理它?
使用 selectedIndex 方法,您可以使用 tebbar viewControllers 数组索引设置任何“视图控制器”。这个链接也很有用http://iosmadesimple.blogspot.in/2012/09/tabbed-application-doing-it.html
self.navigationController.tabBarController.selectedIndex 不起作用
self.tabBarController = [[UITabBarController alloc] init];
UIViewController *commentsController = [[CommentsViewController alloc] init];
UIViewController *projectsController = [[ProjectsViewController alloc] init];
UIViewController *offersController = [[OffersViewController alloc] init];
self.tabBarController.viewControllers = @[commentsController, projectsController, offerController];
[self.tabBarController setSelectedIndex:1];
我认为您需要创建 tabBarController 并选择正确的索引。
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[viewController1, viewController2, viewController3];
[self.tabBarController setSelectedIndex:1];
你可以让你的 DetailViewController 继承自 UITabBarViewController
然后在 ViewDidload 里面:
self.viewControllers = @[commentsViewController, projectsViewConroller, offersViewController];
self.selectedIndex = 1; //to move to the middle