13

期待される出力: ツールバーの色をダーク ブラックに変更したい。

実際の出力: ToolBar は薄い灰色です。

コードは次のとおりです。

let webViewController = SFSafariViewController(URL: url, entersReaderIfAvailable: true)
self.navigationController?.toolbar.barTintColor = UIColor.blackColor()
self.navigationController?.toolbar.tintColor = UIColor.whiteColor()
self.navigationController?.toolbar.barStyle = UIBarStyle.Black
self.navigationController?.pushViewController(webViewController, animated: true)
4

4 に答える 4

5

次の 2 つの方法があります。

let resetPasswordSafari = SFSafariViewController(url: url, entersReaderIfAvailable: true)
resetPasswordSafari.preferredBarTintColor = .mainColor
resetPasswordSafari.preferredControlTintColor = .black

と:

class ResetPasswordSafariViewController: SFSafariViewController {

  override init(url URL: URL, entersReaderIfAvailable: Bool) {
    super.init(url: URL, entersReaderIfAvailable: entersReaderIfAvailable)
    delegate = self

    preferredBarTintColor = .blue
    preferredControlTintColor = .black
  }
}

// MARK: - SFSafariViewControllerDelegate

extension ResetPasswordSafariViewController: SFSafariViewControllerDelegate {
  internal func safariViewControllerDidFinish(_ controller: SFSafariViewController) {
    controller.dismiss(animated: true)
  }
}

頑張ってください!

于 2019-01-14T10:55:29.260 に答える
0

ツールバーの背景色を変更する方法はありませんが、ツールバーのボタンの色を変更することは可能です。

[UIBarButtonItem appearance].tintColor = [UIColor whiteColor];

私が見ているように、外観の他のすべての変更、またはコントローラーのプロパティへの直接の変更は効果がありません。

于 2016-08-13T11:38:38.247 に答える