我使用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];
}
这是图片:
实际上我可以创建并使UI引脚成为初始,但是用户可以在应用程序引脚上禁用UI引脚。
每当我点击动作按钮时,如果验证成功,我将跳转到主菜单。如果我的验证成功,我怎么能回到我的标签栏?任何的想法?谢谢。
修改 这是我的应用程序pin菜单。
我可以使用同一个班级吗?因为启用/禁用我已经创建了一个类来处理它。使用相同的类我的意思是用于UI PIN。所以我不需要浪费来创建一个新文件。如果我使用相同的类,我如何通过下面的代码将对象发送到该类?因为我尝试仍然有错误。谢谢。
[firstViewController setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:firstViewController animated:YES completion:nil];
答案 0 :(得分:0)
有希望帮助你的事情。
首先,{@ 1}}已被弃用,如果可能,您应该尝试使用presentModalViewController
。
据我所知,您正在以模态方式显示PIN输入屏幕。如果是这种情况,那么你需要做的就是摆脱它并返回到你调用它的屏幕,一旦你确定了PIN是正确的,就打电话给presentViewController:animated:completion:
。
这可能不是你要求的,我误解了你的问题,在这种情况下只是让我知道!
编辑好的 - 我想我现在就解决了你的问题。您正在dismissViewControllerAnimated:completion:
中显示您的PIN视图,但您实际上从未测试用户是否已输入正确的PIN(即已登录)。这意味着每次用户访问该视图时,他们都会立即看到PIN视图。
您需要添加一个条件测试来检查用户是否已登录(在该会话期间输入了有效的PIN) - 如果没有,您可以模态显示PIN视图,否则只能正常继续。