2016-07-27 8 views
0

私のアプリデリゲートの中で、私のアプリ内のすべてのナビゲーションバーが黒であるため、グローバルなデフォルトの色合いを白に設定しました。 ADALiOSがユーザーを認証するために行くと、私は以下のような画面を表示します。よく見ると、左上の白い文字でキャンセルボタンが表示されます。UIテキストの色合いを変更するADAL iOS Auth

テキストの色やナビゲーションバーの色を黒に変更する回避策はありますか?あなたはAuthenticationContextのプロパティを見れば

func login(completionBlock:((Bool, String) -> Void)) { 
      var er:ADAuthenticationError? = nil 
    let authContext = ADAuthenticationContext(authority: authority, error: &er) 
    var token: String! 
    authContext.acquireTokenWithResource(resourceURI, clientId: clientID, redirectUri: redirectURI, userId: NSUserDefaults.standardUserDefaults().stringForKey("username")) { 
     (result: ADAuthenticationResult!) -> Void in 
     if result.status.rawValue != AD_SUCCEEDED.rawValue { 
      completionBlock(false, result.error.description) 
     } else { 
      token = result.accessToken 
      let username = result.tokenCacheStoreItem.userInformation.userId 
      self.storeUsername(username) 
      completionBlock(true, token) 
     } 
    } 
} 

Color of Cancel button in top left corner is white.

答えて

0

viewDidLoad()インサイド

私は次のメソッドを呼び出す:

authManager.login() { 
      (authenticated: Bool, token: String) -> Void in 
      if (authenticated) { 
       self.setupMapView() 
       self.getJSON() 
      } else { 
       print("Authentication Failed!") 
       self.loginToolbar.alpha = 1.0 
       self.listButton.enabled = false 
       self.filterButton.enabled = false 
       self.refreshButton.enabled = false 
      } 
     } 

そして、ここでは私のAuthManagerクラス内部login()機能ですADALはあなたに、いくつかのViewControllerプロパティがあります:parent、child、e tc。

ADAuthenticationContextを使用すると、.webViewプロパティにアクセスすることもできます。おそらく、この経路を通じてカスタマイズが可能です。

のWebView:

_authContext.webView.inputViewController?.navigationController?.navigationBar.barTintColor = .black 

ParentView

_authContext.parentController.navigationController?.navigationBar.tintColor = .black 

私は両親ナビゲーションバーにアクセスしようとしましたが、私はすべての成功を見ていません。

私は今週もこの問題に取り組んできましたが、直接解決策を見つけることはできませんでしたが、解決に役立つことを期待して私の所見を共有したいと思います。これらの中には、コントローラーのNavBarへのアクセスにつながるものもありますが、最終的には、色合い/タイトル/色などのバー設定を変更する必要があります。

私はそれを働かせればさらなる応答を投稿します。もしあなたが解決したら、更新してください。

更新:これを私のAppDelegateを追加するだけで解決しました。

UINavigationBar.appearance().barStyle = .blackOpaque 
UINavigationBar.appearance().tintColor = .white 

はおそらく、この中に切り替えることができますし、のあなたのViewControllerのは/表示され、あなたが唯一の個々のページのためにそれを必要とする場合、メソッドの消えます。

+0

追加の解決策を使用して回答を更新しました。 – pCanniff

関連する問題