2015-09-08 57 views
4

這個問題可能非常微不足道,但這讓我頭疼,因爲過去6個小時。我已經在我的項目中集成了谷歌登錄SDK for iOS,除了取消按鈕,一切看起來都很好。 enter image description here取消按鈕在iOS的谷歌登錄框架中不可見

當我點擊我的登錄屏幕中的谷歌按鈕時,出現此屏幕。但如果用戶決定取消Google登錄,則無法解除此限制。通常情況下,取消按鈕應該在左欄按鈕項目的位置,但在這種情況下,它不見了。

我在這裏做錯了什麼?

+0

檢查它是否重定向到Safari,然後你必須執行很多代碼。此外,如果Apple重定向到Safari瀏覽器,蘋果會拒絕Google Sign In精選應用。 –

+0

這是最新的google登錄SDK,它不會重定向到safari。相反,它在應用程序本身打開一個這樣的屏幕... –

+0

有用的知識..谷歌提供所有的頭文件作爲開源,以及你可以隨時編輯任何你想要的。 –

回答

1

你的AppDelegate中是否有UIAppearance配置?也許條形顏色與按鈕文字顏色相同。我解決了這個問題,通過建立對大多數在我AppDelegate.swift文件由UINavigationbar.appearance()代理暴露出的相關屬性的全局默認值(應爲ObjC類似)

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

你會得到只有在兩種情況下取​​消按鈕:

1 - 如果您已經在此屏幕中輸入了谷歌用戶名和密碼並移至下一個。

2 - 如果你已經安裝了谷歌加應用程序,並已登錄

在目前的情況下,你不會得到取消按鈕爲網頁視圖。 所以解決方案是你需要創建你自己的後退按鈕。

創建一個欄按鈕項並將其分配給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]; 
} 
0

嘗試刪除GoogleSignIn.frameworkGoogleSignIn.bundle文件和添加他們回來。

此外,請確保您已將GoogleSignIn.bundle添加到您的Xcode項目的複製包資源構建階段(轉到目標>您的項目>構建階段>複製包資源並添加GoogleSignIn.bundle)。