Swift中的WebView

WebView是Swift中用于显示网页内容的组件,可以将网页嵌入到iOS应用中。WebView可以加载和显示网页、处理用户的交互操作,并提供了一些控制网页内容的方法。

在Swift中使用WebView,首先需要导入WebKit框架:

swift 复制代码
import WebKit

然后,创建一个WKWebView的实例,并将其添加到视图中:

swift 复制代码
let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: 320, height: 480))
view.addSubview(webView)

加载网页内容可以使用loadRequest方法,传入一个NSURLRequest对象:

swift 复制代码
let url = URL(string: "https://www.example.com")
let request = URLRequest(url: url!)
webView.load(request)

可以通过监听webView的estimatedProgress属性来获取网页加载的进度:

swift 复制代码
webView.addObserver(self, forKeyPath: #keyPath(WKWebView.estimatedProgress), options: .new, context: nil)

处理网页加载完成后的事件可以使用WKNavigationDelegate协议的方法:

swift 复制代码
class ViewController: UIViewController, WKNavigationDelegate {
    // ...
    
    override func viewDidLoad() {
        super.viewDidLoad()
        webView.navigationDelegate = self
    }
    
    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        print("Web page loaded")
    }
}

除了加载网页外,WebView还提供了一些方法来控制网页内容的显示和交互,例如:设置网页缩放、前进后退浏览、执行JavaScript代码等。

相关推荐
开心就好202510 小时前
iOS App 安全加固流程记录,代码、资源与安装包保护
后端·ios
开心就好202510 小时前
iOS App 性能测试工具怎么选?使用克魔助手(Keymob)结合 Instruments 完成
后端·ios
zhongjiahao1 天前
面试常问的 RunLoop,到底在Loop什么?
ios
wvy2 天前
iOS 26手势返回到根页面时TabBar的动效问题
ios
RickeyBoy3 天前
iOS 图片取色完全指南:从像素格式到工程实践
ios
aiopencode3 天前
使用 Ipa Guard 命令行版本将 IPA 混淆接入自动化流程
后端·ios
二流小码农3 天前
鸿蒙开发:路由组件升级,支持页面一键创建
android·ios·harmonyos
iceiceiceice4 天前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
TT_Close4 天前
【Flutter×鸿蒙】FVM 不认鸿蒙 SDK?4步手动塞进去
flutter·swift·harmonyos
张江4 天前
Swift Concurrency学习
swift