[Swift] Cellule de vue tableau, comment accéder à une URL externe

introduction

Je voulais utiliser TableViewCell et mettre un lien vers ma page d'accueil dans l'application, mais je ne l'ai pas trouvé tout de suite, alors je vais l'écrire comme un rappel.

Produit fini

Dans cette explication, appuyez sur "Google" dans TabelViewCell pour accéder à la page "Google".

Définir la vue de la table sur le Story Board

スクリーンショット 2020-10-30 6.24.13.png

Donnez un nom à l'identifiant

Cette fois, j'ai choisi "Cell". スクリーンショット 2020-10-30 6.26.00.png

Créer un fichier TableViewControllre.swif

スクリーンショット 2020-10-30 6.29.12.png

スクリーンショット 2020-10-30 6.29.37.png

Connectez TableView et TableViewController.swift

スクリーンショット 2020-10-30 6.32.16.png

Préparez un tableau à mettre dans la cellule

OutisideTableViewController.swift


 //Cette fois, je vais créer un lien vers Google
    var outsideArray = ["Google"]

Mettre une valeur dans une cellule

OutisideTableViewController.swift


 override func numberOfSections(in tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return outsideArray.count
    }

    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        //Mettez le nom défini dans Identifier dans sithIdentifier
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)

        cell.textLabel?.text = outsideArray[indexPath.row]

        return cell
    }

Processus d'ouverture d'un navigateur externe

OutisideTableViewController.swift


//Traitement lorsqu'une cellule est exploitée
    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        //Effacer la couleur sélectionnée lorsque vous appuyez sur
        tableView.deselectRow(at: indexPath as IndexPath, animated: true)
        
        //Ouvrir l'URL dans un navigateur externe
        let url = NSURL(string: "https://www.google.com/?hl=ja")
        if UIApplication.shared.canOpenURL(url! as URL) {
            UIApplication.shared.open(url! as URL, options: [:], completionHandler: nil)
        }
    }

Code complet

OutisideTableViewController.swift


import UIKit

class OutsideTableViewController: UITableViewController {
    
   //Cette fois, je vais créer un lien vers Google
    var outsideArray = ["Google"]

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func numberOfSections(in tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return outsideArray.count
    }

    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        //Mettez le nom défini dans Identifier dans sithIdentifier
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)

        cell.textLabel?.text = outsideArray[indexPath.row]

        return cell
    }
    
    //Traitement lorsqu'une cellule est exploitée
    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        //Effacer la couleur sélectionnée lorsque vous appuyez sur
        tableView.deselectRow(at: indexPath as IndexPath, animated: true)
        
        //Ouvrir l'URL dans un navigateur externe
        let url = NSURL(string: "https://www.google.com/?hl=ja")
        if UIApplication.shared.canOpenURL(url! as URL) {
            UIApplication.shared.open(url! as URL, options: [:], completionHandler: nil)
        }
    }
}

Site de référence http://somen.site/2018/09/24/%E3%82%A2%E3%83%97%E3%83%AA%E3%81%8B%E3%82%89%E5%A4%96%E9%83%A8%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%A7url%E3%82%92%E9%96%8B%E3%81%8F-swift4-1/ https://pg-happy.jp/swift-tableview-tableviewcell.html

Recommended Posts

[Swift] Cellule de vue tableau, comment accéder à une URL externe
Comment insérer une bibliothèque externe
[Rails] Comment afficher les images dans la vue
Comment gérer les instances
[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux
Que faire lorsque le code d'état HTTP 302 se produit lors de la connexion à une URL externe
Comment "évider" une vue sur Android
[Swift] Comment envoyer une notification
[Swift] Comment remplacer plusieurs chaînes
[Swift] Résumé de la suppression des éléments d'un tableau (mémo personnel)
Comment recadrer une image avec libGDX
Comment utiliser binding.pry pour afficher le fichier
Comment brouiller l'image (super facile)
Étapes pour publier une application sur Heroku
Comment appeler le code Swift 5.3 depuis Objective-C
Comment définir un bean de classe interne
[Swift5] Comment créer un écran de démarrage
[Swift5] Comment mettre en œuvre une animation à l'aide de "lottie-ios"
Ruby: CSV :: Comment utiliser la note de tableau
Comment écraser les données Firebase avec Swift
[Swift] Comment obtenir le nombre d'éléments dans un tableau (super basique)
[Swift] Comment générer un identifiant pour identifier de manière unique une certaine chose (en utilisant UUID)