美文网首页
iOS14 widget 能否使用uikit 调研

iOS14 widget 能否使用uikit 调研

作者: 温柔vs先生 | 来源:发表于2020-07-14 11:19 被阅读0次

    最近调研iOS14 中widget能否加载webview,我们知道widget只能用swiftUI开发,而swiftUI是可以用uikit框架的,那么widget能否使用webview呢?答案是不能,苹果不允许小部件使用uikit框架,只能使用swiftUI提供的API。

    下面总结一下swiftUI使用uikit,加载webview:

    截屏2020-07-14 上午11.09.20.png

    定义一个webview,这里要注意UIViewRepresentable,它是swiftUI使用uikit时,专门的一个中间类。

    import SwiftUI
    import WebKit
    
    struct Webview: UIViewRepresentable {
    
        var url: String
        
        func makeUIView(context: Context) -> WKWebView {
    //        guard let url = URL(string: self.url) else {
    //            return WKWebView()
    //        }
    //        let request = URLRequest(url: url)
    //        let wkWebview = WKWebView()
    //        wkWebview.load(request)
    //
    //        return wkWebview
            
            return WKWebView()
        }
        
        func updateUIView(_ uiView: WKWebView, context: Context) {
    
            let request = URLRequest(url: URL(string: url)!)
            uiView.load(request)
        }
    }
    
    struct Webview_Previews: PreviewProvider {
        static var previews: some View {
            /*@START_MENU_TOKEN@*/Text("Hello, World!")/*@END_MENU_TOKEN@*/
        }
    }
    

    使用的地方:


    截屏2020-07-14 上午11.14.36.png

    参考文献:
    https://developer.apple.com/forums/thread/653545

    https://developer.apple.com/forums/thread/653471

    相关文章

      网友评论

          本文标题:iOS14 widget 能否使用uikit 调研

          本文链接:https://www.haomeiwen.com/subject/dasxhktx.html