1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WebViewでウェブサイトを表示する【Swift】

Posted at

Swift学習2日目、自分用の備忘録です。

インディケーターを表示後、ロードが完了したらWebサイトを表示するコードです。

ストーリーボードに以下を追加

①Activity Indicator View:ロード中に表示するインディケーター
②Toolbar:戻るボタンと進むボタンを配置するためのツールバーを下部に設置
③Bar Button Item:戻るボタンと進むボタンをToolbar情に配置
④Fixed Space Bar Button Item:戻るボタンと進むボタンの間にスペースを配置

コード

import UIKit
import WebKit // ライブラリをインポート

class ViewController: UIViewController, WKNavigationDelegate { // デリゲートを追加
    
    @IBOutlet weak var indicater: UIActivityIndicatorView! // ローディングのインディケーターを追加
    @IBOutlet weak var toolbar: UIToolbar! // 戻るボタンを並べたツールバー
    var webview = WKWebView()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // ウェブビューの大きさを決める
        webview.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height - toolbar.frame.size.height)
        
        // Viewにウェブビューを追加
        view.addSubview(webview)
        
        webview.navigationDelegate = self
        
        // URLをロード
        let url = URL(string: "https://text.com/")
        let request = URLRequest(url: url!)
        webview.load(request)
        
        indicater.layer.zPosition = 2 // インディケーターをウェブビューより手前に配置
    }

    // 読み込みが開始されたときに呼ばれるデリゲートメソッド
    func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
        indicater.isHidden = false
        indicater.startAnimating()
    }

    // ロードが完了したときに呼ばれるデリゲートメソッド
    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        indicater.isHidden = true
        indicater.stopAnimating()
    }
   
    @IBAction func back(_ sender: Any) {
        webview.goBack() // 戻るボタン
    }
    
    @IBAction func go(_ sender: Any) {
        webview.goForward() // 進むボタン
    }
    
}


1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?