第一次在故事板中提示另一个Viewcontroller

时间:2012-11-05 11:18:53

标签: iphone objective-c ios5 xcode4.3 uistoryboard

我使用storyboard作为界面,并从标签栏控制器开始。 假设我有tab1,tab2,accountsetting。

在允许用户使用该应用之前,用户必须先进行身份验证。我称之为针。我已经关注this link了,我可以提示pin UI。但我遇到了问题。 如果我的验证是真的,我不知道如何消失这个pin UI。我使用sqlite进行验证。

要移至图钉UI,我使用此代码。

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
FirstTimeViewController *firstViewController = [storyboard instantiateViewControllerWithIdentifier:@"PinViewController"];
[firstViewController setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:firstViewController animated:YES completion:nil];
}

这是图片:

enter image description here

实际上我可以创建并使UI引脚成为初始,但是用户可以在应用程序引脚上禁用UI引脚。

每当我点击动作按钮时,如果验证成功,我将跳转到主菜单。如果我的验证成功,我怎么能回到我的标签栏?任何的想法?谢谢。

修改 这是我的应用程序pin菜单。

enter image description here

我可以使用同一个班级吗?因为启用/禁用我已经创建了一个类来处理它。使用相同的类我的意思是用于UI PIN。所以我不需要浪费来创建一个新文件。如果我使用相同的类,我如何通过下面的代码将对象发送到该类?因为我尝试仍然有错误。谢谢。

    [firstViewController setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:firstViewController animated:YES completion:nil];

1 个答案:

答案 0 :(得分:0)

有希望帮助你的事情。

首先,{@ 1}}已被弃用,如果可能,您应该尝试使用presentModalViewController

据我所知,您正在以模态方式显示PIN输入屏幕。如果是这种情况,那么你需要做的就是摆脱它并返回到你调用它的屏幕,一旦你确定了PIN是正确的,就打电话给presentViewController:animated:completion:

这可能不是你要求的,我误解了你的问题,在这种情况下只是让我知道!

编辑好的 - 我想我现在就解决了你的问题。您正在dismissViewControllerAnimated:completion:中显示您的PIN视图,但您实际上从未测试用户是否已输入正确的PIN(即已登录)。这意味着每次用户访问该视图时,他们都会立即看到PIN视图。

您需要添加一个条件测试来检查用户是否已登录(在该会话期间输入了有效的PIN) - 如果没有,您可以模态显示PIN视图,否则只能正常继续。