在UITabBarController中加载自定义视图

时间:2014-03-04 21:43:07

标签: ios uitabbarcontroller

我是ios的新用户并移植Android应用程序。现有应用程序相当于具有四个相关UITabBarController对象的iOS UIViewController。第一次安装应用程序时,会向用户显示一个“凭据”视图,其中包含两个可编辑的文本字段。用户输入值,触摸提交,如果成功通过身份验证,则会显示应用程序的完整选项卡界面。用户无法返回初始“凭证”视图。选项卡控制器上没有可见的相关导航项。有没有办法在iOS中实现这一目标?有没有办法在Storyboard中创建“凭证”UIViewController但是将其隐藏起来UITabBarController并且只是以预定方式切换到它?找到了一些信息here,但它是从2011年开始的,不确定是否还是最新的。谢谢!

更新:工作代码

在我的第二个选项卡的UIViewController类中,我覆盖了loadView()方法并插入了Garfield81建议的代码。我必须在凭证视图中添加一个Storyboard ID,并找出我的Storyboard的名称(显示“Main”是Main.storyboard的默认值 - 查看项目plist)。

- (void) loadView
{
   // load custom view not referenced by UITAbController
   UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
   UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"ID_Cred"];
   [self presentViewController:vc animated:YES completion:nil];
}

1 个答案:

答案 0 :(得分:1)

您提供的链接应该是有效的,但我不建议这样做,因为这会覆盖选项卡上双击的默认行为(如果它是UINavigationController则弹出到根视图控制器)。 / p>

相反,您可以在设置页面或其他位置使用登录/注销按钮,并使用

显示“凭据”视图
[self presentViewController:credentialsViewController animated:YES completion:nil];