Protocole NowWebViewControllerDelegate : iOS

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Le protocole NowWebViewControllerDelegate fournit des rappels pour la notification des problèmes au cours du traitement NowWebViewController , par exemple lorsqu’un flux se termine ou qu’une navigation échoue.

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

    Rappel qui notifie l’application hôte que le flux Cabrillo (Web mobile) spécifié est terminé.

    Tableau 1. Paramètres
    Nom Type Description
    nowWebViewController Contrôleur NowWebViewController Instance de NowWebViewController où le flux s’est terminé.
    didEndFlow flowName Chaîne Nom du flux Cabrillo qui s’est terminé
    Tableau 2. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment appeler cette méthode.

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

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

    Rappel qui notifie l’application hôte que la navigation dans la vue Web a échoué.

    Tableau 3. Paramètres
    Nom Type Description
    nowWebViewController Contrôleur NowWebViewController Instance de NowWebViewController dans laquelle la navigation a échoué.
    didFailNavigationWith error Swift.Error Erreur découlant de l’échec de navigation.
    Tableau 4. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment appeler cette méthode.

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

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

    Rappel qui informe l’application hôte que l’affichage Web a tenté de charger une URL non prise en charge.

    Une URL non prise en charge peut être une URL d’une instance différente ServiceNow ou une URL absolue avec un schéma non valide.
    Remarque :
    Les schémas valides sont http et https.
    Tableau 5. Paramètres
    Nom Type Description
    nowWebViewController Contrôleur NowWebViewController Instance de NowWebViewController utilisée lors de la tentative de chargement de l’URL non prise en charge.
    didReceive unsupportedUrl URL URL non valide en cours de chargement.
    Tableau 6. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment appeler cette méthode.

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

    NowWebViewControllerDelegate : nowWebViewControllerDidRequestDismissal(_ nowWebViewController : NowWebViewController)

    Rappel qui informe l’application hôte que la pile a été épuisée lors d’une tentative de navigation arrière. L’application hôte peut alors décider de rejeter ou non l’instance NowWebViewController.

    Tableau 7. Paramètres
    Nom Type Description
    nowWebViewController Contrôleur NowWebViewController Instance de NowWebViewController dans laquelle la navigation arrière a été tentée.
    Tableau 8. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment appeler cette méthode.

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

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

    Rappel qui notifie l’application hôte que le thème de l’interface utilisateur Web du système a changé.

    Tableau 9. Paramètres
    Nom Type Description
    nowWebViewController Contrôleur NowWebViewController Instance de NowWebViewController dans laquelle le thème de l’interface utilisateur web a changé.
    traitCollection UITraitCollection Objet UITraitCollection contenant le nouveau thème.
    Tableau 10. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment remplacer la fonction de délégué systemThemeDidChange() pour appeler la fonction updateTheme() afin d’appliquer les changements de thème lorsque le thème système change.

    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)
    }