如何在iOS主屏幕小部件中显示WkWebView屏幕截图?

时间:2020-10-23 22:09:21

标签: ios swiftui widget ios14 widgetkit

如何获取动态网站的屏幕截图并将其放置在iOS主屏幕小部件中?我正在寻找一个小工具仪表板,该仪表板每小时大约显示一次网站更新。

对于上下文,我知道如何用地图而不是Webview解决类似的问题-您可以在小部件的时间轴函数中使用MKMapSnapshotter来获取地图的屏幕截图。

func getMapSnapshot(completionHandler: @escaping (Image) -> Void) {
    let coordinate = self.locationManager.location?.coordinate ?? self.defaultCoordinate
    let options = MKMapSnapshotter.Options()
    options.region = MKCoordinateRegion(center: coordinate, span: self.span)
    let snapshot = MKMapSnapshotter(options: options)
    snapshot.start { (snapshot, error) in
        let image = Image(uiImage: snapshot?.image ?? UIImage(named: "map-placeholder")!)
        completionHandler(image)
    }
}

我正在尝试将相同的原理应用于WKWebView,但是当在设备上未打开视图时如何截取WKWebView的屏幕截图。不幸的是,您不能在窗口小部件中使用WKWebViews,因此无法在窗口小部件屏幕上获取WkWebView,获取屏幕截图,然后显示屏幕截图。 App Store上的其他应用似乎已经弄清楚了,所以我想念什么?

0 个答案:

没有答案