Iphone 另一个基本问题

Iphone 另一个基本问题,iphone,objective-c,cocoa-touch,uinavigationcontroller,uitabbarcontroller,Iphone,Objective C,Cocoa Touch,Uinavigationcontroller,Uitabbarcontroller,所以我在选项卡栏控制器中有两个选项卡 选项卡1是根控制器。选项卡2是一个tableviewcontroller,用于获取用户信息(如注册) 现在发生了什么: 选项卡1首先出现,我需要单击选项卡2 我需要什么: 当我打开应用程序时,我希望应用程序从选项卡2开始(如果应用程序中没有用户)。这应该是第一个屏幕。然后再向前(如果有用户),它应该使用选项卡1作为根控制器,并使用第一个屏幕。DotabBarController.selectedIndex=1或tabBarController.selecte

所以我在选项卡栏控制器中有两个选项卡

选项卡1是根控制器。选项卡2是一个tableviewcontroller,用于获取用户信息(如注册)

现在发生了什么:

选项卡1首先出现,我需要单击选项卡2

我需要什么:


当我打开应用程序时,我希望应用程序从选项卡2开始(如果应用程序中没有用户)。这应该是第一个屏幕。然后再向前(如果有用户),它应该使用选项卡1作为根控制器,并使用第一个屏幕。

Do
tabBarController.selectedIndex=1
tabBarController.selectedViewController=loginViewController

应用程序中:使用选项完成启动:

if ( [users count] > 0 ) {
    self.tabBarController.selectedIndex = 1;
} else {
    self.tabBarController.selectedIndex = 0;
}

这假设
users
保存所有用户信息。Seva关于使用模态视图控制器的建议无疑是处理
登录的更好方法。如果你所说的用户是指配置文件,那么这也是一个不错的方法。

Do
tabBarController.selectedIndex=1
tabBarController.selectedViewController=loginViewController

应用程序中:使用选项完成启动:

if ( [users count] > 0 ) {
    self.tabBarController.selectedIndex = 1;
} else {
    self.tabBarController.selectedIndex = 0;
}

这假设
users
保存所有用户信息。Seva关于使用模态视图控制器的建议无疑是处理
登录的更好方法。如果你所说的用户是指配置文件,那么这也是一种不错的方法。

你真的希望用户能够在不完成登录的情况下切换到根选项卡吗?选项卡UI表明选项卡在功能上或多或少相互独立;对于所需的登录,模态视图控制器是一个更好的比喻。

您真的希望用户能够在不完成登录的情况下切换到根选项卡吗?选项卡UI表明选项卡在功能上或多或少相互独立;对于所需的登录,模态视图控制器是一个更好的比喻。

检查用户的一种方法是执行以下操作:

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstTime"])
{
    //login view show
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstTime"];
}
或者,如果您使用的是数据库,则可以进行查询,然后根据查询执行某些操作


但是我同意w/Seva,您可能希望以其他方式显示视图,在用户完成登录之前不允许用户跳转视图。

检查用户的一种方法是执行以下操作:

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstTime"])
{
    //login view show
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstTime"];
}
或者,如果您使用的是数据库,则可以进行查询,然后根据查询执行某些操作


但是我同意w/Seva,您可能希望以其他方式显示视图,以避免用户在完成登录之前跳转视图。

在我的ApplicationLegate中,我已将我的UITabBarController*rootController设置为[\u window addSubview:rootController.view];我是否应该执行rootController.tabBarController.selectedIndex=1??好。分配self.rootController.tabBarController.selectedIndex=1;似乎还是把第一个标签放在第一位FML。谢谢你,伙计。工作:DOkay那么,当[users count]=0时,你认为我可以编程隐藏所有其他选项卡吗?因此,当新启动应用程序时,用户没有其他选择,只能在获得其他选项卡之前使用选项卡2输入详细信息?您应该查看
设置视图控制器:动画:
。从选项卡中的一个视图控制器开始,当用户输入详细信息后,使用该方法设置视图控制器。在我的ApplicationLegate中,我设置了UITabBarController*rootController,并将其添加到子视图中,作为[_WindowAddSubView:rootController.view];我是否应该执行rootController.tabBarController.selectedIndex=1??好。分配self.rootController.tabBarController.selectedIndex=1;似乎还是把第一个标签放在第一位FML。谢谢你,伙计。工作:DOkay那么,当[users count]=0时,你认为我可以编程隐藏所有其他选项卡吗?因此,当新启动应用程序时,用户没有其他选择,只能在获得其他选项卡之前使用选项卡2输入详细信息?您应该查看
设置视图控制器:动画:
。从选项卡中的一个视图控制器开始,用户输入详细信息后,使用该方法设置视图控制器。