WebView

17 Mar 2025 | 4 分钟阅读

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

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

WKWebView 属性和方法

WKWebView 类包含可用于自定义 webview 行为的属性和方法。 我们可以使用 goBack() 和 goForward() 方法让用户在后退和前进方向导航。 要检查用户是否可以在特定方向移动,我们可以使用布尔属性 canGoBack 和 canGoForward。

WebView 还会将电话号码转换为链接,点击后,用户将被重定向到带有预填充点击号码的拨号键盘。

WKWebView 属性

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

WKWebView 方法

序号方法描述
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

输出

iOS WebView
下一个主题IOS MapView