4

SFSafariViewControllerから呼び出された Web サイトにアクセスするために を使用していますUITableViewController。私のアプリには非常に軽いフィーリングが付随しているため、次のコード行を に追加しましたAppDelegate

self.window.tintColor = [UIColor whiteColor];

を実行するSFSafariViewControllerと、次のようになります。

ここに画像の説明を入力

とにかくDoneボタンの色を青に変更することはできますか (デフォルトで)?

を呼び出すときに次のことを試しましたSFSafariViewControllerが、効果はありません。

        [self presentViewController:safariVC animated:YES completion:^{
            safariVC.navigationController.navigationItem.rightBarButtonItem.tintColor = [UIColor blueColor];


        [self presentViewController:safariVC animated:YES completion:^{
            safariVC.navigationController.navigationBar.tintColor = [UIColor blueColor];
        }];

どちらも機能しません。

もちろん、アプリをデフォルトのままにして から白の設定をAppDelegate取り出すこともできますが、カスタム テーマでは青が目立ちすぎるため、アプリ内でこのアプローチが必要です。

これに関するガイダンスをいただければ幸いです。

4

2 に答える 2

4

appearanceプロキシを使用してバーの色をグローバルに変更できます。

試す

[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];
[[UIBarButtonItem appearance] setTintColor:[UIColor blueColor]];

そうでなければ試してください

  [self presentViewController:safariVC animated:YES completion:^{

         [safariVC.navigationBar setTintColor:[UIColor blueColor]];
    }];

そうでなければ試してください

関数の AppDelegate.m で:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

次のコードを入力しました。

//SFSafariViewController
[[UINavigationBar appearanceWhenContainedIn:[SFSafariViewController class], nil] setBarTintColor:[UIColor blueColor]];
[[UINavigationBar appearanceWhenContainedIn:[SFSafariViewController class], nil] setTintColor:[UIColor blueColor]];

または ViewDidLoad に追加します

[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]]; 

迅速

UINavigationBar.appearance().tintColor = UIColor.blueColor()
UIBarButtonItem.appearance().tintColor = UIColor.blueColor()

他にこれを試してください

self.presentViewController(safariVC, animated: true, completion: {() -> Void in
safariVC.navigationBar.tintColor = UIColor.blueColor()
})

または好きです

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {

     UINavigationBar.appearanceWhenContainedIn(SFSafariViewController.self, nil).barTintColor = UIColor.blueColor()
UINavigationBar.appearanceWhenContainedIn(SFSafariViewController.self, nil).tintColor = UIColor.blueColor()
}

または最後にこれを試してください

  self.navigationController.navigationBar.tintColor = UIColor.whiteColor()
于 2015-11-02T17:15:04.837 に答える
3

setPreferredControlTintColor を試して、完了ボタンの色合いを設定してください

于 2016-10-04T09:35:12.633 に答える