这个问题可能非常微不足道,但这让我头疼了6个小时。我在我的项目中集成了谷歌SDK for iOS,除了取消按钮,一切似乎都正常。
当我点击登录屏幕中的google按钮时,会出现此屏幕。但如果用户决定取消谷歌登录,则无法解除此问题。通常,取消按钮应该位于左侧栏按钮项的位置,但在这种情况下它会丢失。
我在这里做错了什么?
答案 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.framework
和
GoogleSignIn.bundle
个文件并将其添加回来。
另外,请确保已将GoogleSignIn.bundle
添加到Xcode项目的Copy Bundle Resources构建阶段(转到Targets> YourProject> Build Phases> Copy Bundle Resources并添加GoogleSignIn.bundle
)。< / p>