取消按钮在谷歌登录iOS框架中不可见

时间:2015-09-08 09:12:13

标签: ios google-plus google-signin

这个问题可能非常微不足道,但这让我头疼了6个小时。我在我的项目中集成了谷歌SDK for iOS,除了取消按钮,一切似乎都正常。 enter image description here

当我点击登录屏幕中的google按钮时,会出现此屏幕。但如果用户决定取消谷歌登录,则无法解除此问题。通常,取消按钮应该位于左侧栏按钮项的位置,但在这种情况下它会丢失。

我在这里做错了什么?

3 个答案:

答案 0 :(得分:1)

您的AppDelegate中是否有任何UIAppearance配置?也许条形颜色与按钮文字颜色相同。我通过设置UINavigationbar.appearance()文件中AppDelegate.swift代理公开的大多数相关属性的全局默认值来解决了这个问题(对于ObjC应该类似)

    UINavigationBar.appearance().barTintColor = UIColor(red:0.00, green:0.42, blue:0.90, alpha:1.0)

答案 1 :(得分:0)

仅在两种情况下您将获得取消按钮:

1 - 如果您已在此屏幕中输入了Google用户名和密码,请转到下一个。

2 - 如果您已安装Google Plus应用并已登录。

在目前的情况下,您不会将取消按钮作为其webview。 因此解决方案是您需要创建自己的后退按钮。

创建一个条形按钮项并将其指定给navigationItem的leftBarButtonItem。 将此代码放在viewDidLoad

    UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
        [myButton setImage:[UIImage imageNamed:@"CancelImage" forState:UIControlStateNormal];
        [myButton setContentEdgeInsets:UIEdgeInsetsMake(0, -15, 0, 0)];
        [myButton addTarget:self action:@selector(backToHOmePage) forControlEvents:UIControlEventTouchUpInside];
        UIBarButtonItem *customBackBtn = [[UIBarButtonItem alloc] initWithCustomView:myButton];
        self.navigationItem.leftBarButtonItem = customBackBtn;

然后创建backToHomePageMethod -

-(void)backToHOmePage
{
    [self.navigationController popToRootViewControllerAnimated:YES];
}

答案 2 :(得分:0)

尝试删除GoogleSignIn.frameworkGoogleSignIn.bundle个文件并将其添加回来。

另外,请确保已将GoogleSignIn.bundle添加到Xcode项目的Copy Bundle Resources构建阶段(转到Targets&gt; YourProject&gt; Build Phases&gt; Copy Bundle Resources并添加GoogleSignIn.bundle)。< / p>