按钮单击第二次不起作用

时间:2013-02-19 07:34:54

标签: iphone ios uitabbarcontroller

我在这里遇到了一个问题,我在过去三天试图解决这个问题。当我运行我的iPhone应用程序时,它会显示此屏幕Login

一切正常,即如果我点击“使用电子邮件登录”按钮,它就能正常工作。

当我点击“使用Facebook登录”时,会显示此屏幕Menu

但是一旦我点击“ logout ”按钮,它就会显示此屏幕 Login after logout没有标题,“使用电子邮件登录”不起作用。

有什么问题?

退出按钮后面的代码:

LoginViewController *LoginviewController = [[LoginViewController alloc]                                                 initWithNibName:@"LoginViewController" bundle:nil];

[self presentViewController:LoginviewController animated:YES completion:nil];

注销按钮位于UITabbarController(以编程方式创建)。这是ViewController的屏幕截图,我无法第二次转换 enter image description here

4 个答案:

答案 0 :(得分:1)

您为UITabBarController分配了什么?我打赌UIViewController?请尝试分配UINavigationController而不是UIViewController

UINavigationController *navController = [[UINavigationController alloc] init];
SomeViewController *viewController = [[SomeViewController alloc]  initWithNibName:@"SomeViewController" bundle:nil];
navController.viewControllers = [NSArray arrayWithObject:viewController];

UITabBarController *tabBarController = [[UITabBarController alloc] init];
[tabBarController setViewControllers:[NSArray arrayWithObjects:
viewController, nil]];

然后在SomeViewController.m

[self.navigationController pushViewController:anotherViewController animated:YES];
anotherViewController.m

中的

[self.navigationController popViewControllerAnimated:YES];

希望有所帮助

答案 1 :(得分:0)

使用此代码在登录时使用电子邮件btn:

呈现viewController
 LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
    [self presentModalViewController:loginViewController animated:NO];

要返回登录页面,请将此代码放入logout btn:

[self dismissModalViewControllerAnimated:NO];

答案 2 :(得分:0)

可能会检查您的代码,因为您在展示Log in with Email控制器时禁用了LoginviaFacebook按钮的用户互动。

答案 3 :(得分:0)

所以我解决了这个问题。以下代码应该放在Logout按钮

UINavigationController * navigationController = [[UINavigationController alloc] initWithRootViewController:appDelegate.LoginviewController];

[self presentViewController:navigationController animated:YES completion:nil];