NowWebViewControllerDelegate プロトコル:iOS

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:6分
  • NowWebViewControllerDelegate プロトコルは、フローの終了やナビゲーションの失敗など、NowWebViewController 処理内の問題を通知するためのコールバックを提供します。

    NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, didReceive unsupportedUrl: URL)

    Web ビューがサポートされていない URL をロードしようとしたことをホストアプリケーションに通知するコールバック。

    サポートされていない URL は、別の ServiceNow インスタンスの URL であるか、無効なスキームを持つ絶対 URL である可能性があります。
    注:
    有効なスキームは http と https です。
    表 : 1. パラメーター
    名前 タイプ 説明
    nowWebViewController NowWebViewController サポートされていない URL をロードしようとしたときに使用される NowWebViewController のインスタンス。
    didReceive unsupportedUrl URL 無効な URL をロードしようとしています。
    表 : 2. 戻り値
    タイプ 説明
    なし

    次のコード例は、このメソッドを呼び出す方法を示しています。

    func nowWebViewController(_ nowWebViewController: NowWebViewController, didReceive unsupportedUrl: URL) {
      debugPrint("nowWebViewController:receivedUnsupportedUrl: \(unsupportedUrl.absoluteString)")
    }

    NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, didEndFlow flowName: String)

    指定された Cabrillo (モバイル Web) フローが終了したことをホストアプリケーションに通知するコールバック。

    表 : 3. パラメーター
    名前 タイプ 説明
    nowWebViewController NowWebViewController フローが終了した NowWebViewController のインスタンス。
    didEndFlow フロー名 文字列 終了した Cabrillo フローの名前
    表 : 4. 戻り値
    タイプ 説明
    なし

    次のコード例は、このメソッドを呼び出す方法を示しています。

    func nowWebViewController(_ nowWebViewController: NowWebViewController, didEndFlow flowName: String) {
      debugPrint("ended flow named: \(flowName)")
    }

    NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, didFailNavigationWith error: Swift.Error)

    Web ビューナビゲーションに失敗したことをホストアプリケーションに通知するコールバック。

    表 : 5. パラメーター
    名前 タイプ 説明
    nowWebViewController NowWebViewController ナビゲーションに失敗した NowWebViewController のインスタンス。
    didFailNavigationWith エラー Swift.Error ナビゲーションの失敗から発生したエラー。
    表 : 6. 戻り値
    タイプ 説明
    なし

    次のコード例は、このメソッドを呼び出す方法を示しています。

    func nowWebViewController(_ nowWebViewController: NowWebViewController, didFailNavigationWith error: Error) {
      debugPrint("NowWebViewController encountered a navigation error: \(error.localizedDescription)")
    }

    NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, systemThemeDidChange traitCollection: UITraitCollection)

    システム Web UI テーマが変更されたことをホストアプリケーションに通知するコールバック。

    表 : 7. パラメーター
    名前 タイプ 説明
    nowWebViewController NowWebViewController Web UI テーマが変更された NowWebViewController のインスタンス。
    traitCollection UITraitCollection 新しいテーマを含む UITraitCollection オブジェクト。
    表 : 8. 戻り値
    タイプ 説明
    なし

    次のコード例は、 systemThemeDidChange() デリゲート関数をオーバーライドして、システムテーマが変更されたときにテーマの変更を適用する updateTheme() 関数を呼び出す方法を示しています。

    func nowWebViewController(_ nowWebViewController: NowWebViewController, systemThemeDidChange traitCollection: UITraitCollection) {
    
      /// Called when the system changes between dark and light mode
    
        /// You can call the corresponding updateTheme() method here to change the UI theme based on System Theme
        nowWebViewController.updateTheme(themeColors: traitCollection.userInterfaceStyle == .dark ? DarkNowWebTheme() : LightNowWebTheme())
          print(“System Theme Did Change)
    }

    NowWebViewControllerDelegate - nowWebViewControllerDidRequestDismissal(_ nowWebViewController: NowWebViewController)

    元へ戻るナビゲーションの試行中にスタックが使い果たされたことをホストアプリケーションに通知するコールバック。その後、ホストアプリケーションは、NowWebViewController インスタンスを却下するかどうかを決定できます。

    表 : 9. パラメーター
    名前 タイプ 説明
    nowWebViewController NowWebViewController 戻るナビゲーションが試行された NowWebViewController のインスタンス。
    表 : 10. 戻り値
    タイプ 説明
    なし

    次のコード例は、このメソッドを呼び出す方法を示しています。

    func nowWebViewControllerDidRequestDismissal(_ nowWebViewController: NowWebViewController) {
      navigationController?.popViewController(animated: true)
    }