NowWebViewControllerDelegate プロトコル:iOS
NowWebViewControllerDelegate プロトコルは、フローの終了やナビゲーションの失敗など、NowWebViewController 処理内の問題を通知するためのコールバックを提供します。
NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, didReceive unsupportedUrl: URL)
Web ビューがサポートされていない URL をロードしようとしたことをホストアプリケーションに通知するコールバック。
サポートされていない URL は、別の ServiceNow インスタンスの URL であるか、無効なスキームを持つ絶対 URL である可能性があります。
注:
有効なスキームは http と https です。
| 名前 | タイプ | 説明 |
|---|---|---|
| nowWebViewController | NowWebViewController | サポートされていない URL をロードしようとしたときに使用される NowWebViewController のインスタンス。 |
| didReceive unsupportedUrl | URL | 無効な URL をロードしようとしています。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
func nowWebViewController(_ nowWebViewController: NowWebViewController, didReceive unsupportedUrl: URL) {
debugPrint("nowWebViewController:receivedUnsupportedUrl: \(unsupportedUrl.absoluteString)")
}
NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, didEndFlow flowName: String)
指定された Cabrillo (モバイル Web) フローが終了したことをホストアプリケーションに通知するコールバック。
| 名前 | タイプ | 説明 |
|---|---|---|
| nowWebViewController | NowWebViewController | フローが終了した NowWebViewController のインスタンス。 |
| didEndFlow フロー名 | 文字列 | 終了した Cabrillo フローの名前 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
func nowWebViewController(_ nowWebViewController: NowWebViewController, didEndFlow flowName: String) {
debugPrint("ended flow named: \(flowName)")
}
NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, didFailNavigationWith error: Swift.Error)
Web ビューナビゲーションに失敗したことをホストアプリケーションに通知するコールバック。
| 名前 | タイプ | 説明 |
|---|---|---|
| nowWebViewController | NowWebViewController | ナビゲーションに失敗した NowWebViewController のインスタンス。 |
| didFailNavigationWith エラー | Swift.Error | ナビゲーションの失敗から発生したエラー。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
func nowWebViewController(_ nowWebViewController: NowWebViewController, didFailNavigationWith error: Error) {
debugPrint("NowWebViewController encountered a navigation error: \(error.localizedDescription)")
}
NowWebViewControllerDelegate - nowWebViewController(_ nowWebViewController: NowWebViewController, systemThemeDidChange traitCollection: UITraitCollection)
システム Web UI テーマが変更されたことをホストアプリケーションに通知するコールバック。
| 名前 | タイプ | 説明 |
|---|---|---|
| nowWebViewController | NowWebViewController | Web UI テーマが変更された NowWebViewController のインスタンス。 |
| traitCollection | UITraitCollection | 新しいテーマを含む UITraitCollection オブジェクト。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、 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 インスタンスを却下するかどうかを決定できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| nowWebViewController | NowWebViewController | 戻るナビゲーションが試行された NowWebViewController のインスタンス。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
func nowWebViewControllerDidRequestDismissal(_ nowWebViewController: NowWebViewController) {
navigationController?.popViewController(animated: true)
}