登录后,我想编程,以便显示第一个标签。当我第一次运行应用程序但是当我注销并再次登录时,它会显示第二个选项卡,这是注销选项的位置。
我可以放置一行代码,确保每次用户登录时都会加载第一个tabbar项目吗?
提前致谢。
答案 0 :(得分:1)
selectedIndex视图的索引 控制器与...相关联 当前选定的标签项。
@property(非原子)NSUInteger selectedIndex讨论此属性 名义上代表了一个指数 viewControllers属性的数组。 但是,如果选择了视图 控制器目前是更多 导航控制器,这个属性 包含值NSNotFound。设置 此属性更改选定的 查看控制器到的那个 指定的指数 viewControllers数组。选择 更多导航控制器本身,你 必须改变的价值 selectedViewController属性 代替。
在版本之前的iOS版本中 3.0,此属性仅反映所选标签栏项的索引。 试图将此值设置为 视图控制器的索引不是 在标签栏中可见,但相反 由更多导航管理 控制器,没有效果。
可用性在iOS 2.0和iOS中可用 后来。另见@property selectedViewController声明 UITabBarController.h
来自UITabBarController Class Reference
编辑:
访问您的应用代理,并从中设置选项卡栏上的selectedIndex。
编辑2:
我的appDelegate .h add
-(void)setSelectedTabBarIndex:(NSUInteger)index;
我的appDelegate .m add
-(void)setSelectedTabBarIndex:(NSUInteger)index{
tabBar.selectedIndex = index;
}
我认为你的tabBar名称是tabBar。
我想要的应用更改标签
YourAppDelegateNane *appDelegate = [(YourAppDelegateNane *)[UIApplication sharedApplication] delegate];
[appDelegate setSelectedTabBarIndex:1];
答案 1 :(得分:1)
试试这个 tabBarController.selectedIndex = 1; //基于tabbbar索引
答案 2 :(得分:1)
当用户注销或应用程序关闭时,您应该调用以下代码:
[tabBarController setSelectedIndex:0];
这样您就可以强制UITabBarController
选择第一个标签。
您可以从UI应用程序委托中获取UITabBarController
实例。例如。使用标准标签栏示例应用程序:
MyAppDelegate *app = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
UITabBarController *tabBarController = app.tabController;
其中MyAppDelegate
是您的id<UIApplicationDelegate>
类的名称。
答案 3 :(得分:0)
在我看来,当用户退出时,应用程序不会停止运行..也许您要做的是确保应用程序在用户注销时“退出”,然后在用户下次打开时应用程序它将从一开始和第一个选项卡运行..只是一个想法..希望它有所帮助