Swift - WebView

Swift - WebView 首页 / iOS入门教程 / Swift - WebView

WebView可以定义为可以在IOS应用程序中显示交互式Web内容并加载IN-App浏览器中的HTML字符串。它是WKWebView类的一个实例,它继承了UIView类。

class WKWebView : UIView

如上所述,要在IOS应用程序中加载Web内容,无涯教程可以使用WebView对象。无涯教程需要做的就是,创建一个WKWebView对象,将其设置为视图,并将其发送要加载Web内容的请求。

wkwebview属性和方法

WKWebView类包含可用于自定义WebView的行为的属性和方法。无涯教程可以让用户使用goback()和goforward()方法以向后和向前方向导航。要检查用户是否可以在特定方向上移动,无涯教程可以使用布尔属性罐和Cangoforward。

链接:https://www.learnfk.comhttps://www.learnfk.com/ios/ios-webview.html

来源:LearnFk无涯教程网

WebView还将电话号码转换为TIPPAPT的链接,用户将使用预先填写的点击号码重定向到拨号器焊盘。

无涯教程网

wkwebview属性

sn属性描述
1 var scrollView: UIScrollView它表示与Web视图关联的滚动视图。
2 var title: String?它是一个字符串对象,它表示页面标题。
3 var url: URL?它是URL类的一个实例,它表示活动URL。
4 var customUserAgent: String?它是一个字符串对象,它表示自定义用户代理字符串。
5 var serverTrust: SecTrust?用于当前提交的导航的sectrustef对象。
6 var navigationDelegate: WKNavigationDelegate?它是web视图的导航委托。
7 var uiDelegate: WKUIDelegate?它代表了Web View的UI委托。
8 var estimatedProgress: Double是一个双重类型对象,它表示已经加载了当前导航的几部分的估计。
9 var hasOnlySecureContent: Bool是一个布尔类型值,确定页面上的所有资源是否已通过安全加密连接加载。
10 var isLoading: Bool它是一个布尔类型值,指示视图是否正在加载Web内容。
11 var allowsMagnification: Bool是一个布尔类型值,指示放大手势是否会改变Web视图的放大倍数。
12 var magnification: CGFloat它是目前网页内容缩放的因素。
13 var allowsBackForwardNavigationGestures: Bool布尔值,指示水平刷手势是否将触发前后列表导航。
14 var backForwardList: WKBackForwardList它是Web View的背向前列表。
15 var canGoBack: Bool它是一个布尔类型值,指示背向前列表中存在的背面项。
16 var canGoForward: Bool是一个布尔类型值,指示背向前列表中存在的前向项目。
17 var allowsLinkPreview: Bool是一个布尔类型值,可以控制链接上的点击是否会显示链路目的地的预览。

WKWebview方法

SNMethodDescription
1func loadHTMLString(String, baseURL: URL?) -> WKNavigation?此方法用于设置网页内容和基本 URL。
2func reload() -> WKNavigation?此方法重新加载当前页面。
3func reloadFromOrigin() -> WKNavigation?此方法重新加载当前页面,如果可能,使用缓存验证条件执行端到端重新验证。
4func stopLoading(Any?)该方法停止加载当前页面的所有资源。
5func load(Data, mimeType: String, characterEncodingName: String, baseURL: URL) -> WKNavigation?此方法用于设置网页内容和基本 url。
6func loadFileURL(URL, allowingReadAccessTo: URL) -> WKNavigation?此方法导航到文件系统上请求的文件 URL。
7func setMagnification(CGFloat, centeredAt: CGPoint)此方法用于按指定因子缩放页面内容并将结果集中在指定点上。
8func goBack() -> WKNavigation?此方法导航到后退列表中存在的后退项目。
10func goForward() -> WKNavigation?此方法导航到后退列表中存在的前进项目。
12func go(to: WKBackForwardListItem) -> WKNavigation?此方法从后退列表导航到指定项目。
13func load(URLRequest) -> WKNavigation?此方法加载指定 URL 请求的内容。
14func evaluateJavaScript(String, completionHandler: ((Any?, Error?) -> Void)?)此方法用于评估 javascript 字符串。
15func takeSnapshot(with: WKSnapshotConfiguration?, completionHandler: (UIImage?, Error?) -> Void)此方法获取视图可见视口的快照。

示例:以编程方式创建WKWebView

import UIKit
import WebKit


class ViewController: UIViewController {


    var webView : WKWebView!
    let activityIndicator = UIActivityIndicatorView(style: .whiteLarge)
   
    override func viewDidLoad() {
        super.viewDidLoad()
       //加载视图后进行任何其他设置。
        activityIndicator.startAnimating()
        webView = WKWebView()
        webView.navigationDelegate = self
        self.view = webView
        let loadURL = "https://www.learnfk.com"
        let url = URL(string: loadURL)!
        webView.load(URLRequest(url: url))
        activityIndicator.stopAnimating()
        webView.allowsBackForwardNavigationGestures = true
    }
}


extension ViewController : WKNavigationDelegate {
    func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
        activityIndicator.startAnimating()
    }
  
    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        activityIndicator.stopAnimating()
    }
}

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Linux性能优化实战 -〔倪朋飞〕

Vue开发实战 -〔唐金州〕

网络编程实战 -〔盛延敏〕

微信小程序全栈开发实战 -〔李艺〕

如何看懂一幅画 -〔罗桂霞〕

人人都用得上的写作课 -〔涵柏〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

运维监控系统实战笔记 -〔秦晓辉〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

好记忆不如烂笔头。留下您的足迹吧 :)