SwiftUI render WKWebView

//
// ContentView.swift
// webview-app
//
// Created by 夏凌晨 on 2020/10/27.
// Copyright 2020 webgeeker. All rights reserved.
// import SwiftUI struct ContentView: View {
var body: some View {
// Text("Hello, World!");
// SwiftUI_WKWebView(url: "https://cdn.xgqfrms.xyz");
SwiftUI_WKWebView(url: "https://cdn.xgqfrms.xyz")
.edgesIgnoringSafeArea(Edge.Set.top)
}
} struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
} /* // SwiftUI_WKWebView(url: "https://cdn.xgqfrms.xyz");
no need ;
CompileDylibError: Failed to build ContentView.swift
Compiling failed: ';' statements are not allowed */
//
// SwiftUI_WKWebView.swift
// webview-app
//
// Created by 夏凌晨 on 2020/10/28.
// Copyright 2020 webgeeker. All rights reserved.
// import SwiftUI
//import Foundation
import WebKit struct SwiftUI_WKWebView: 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 webview = WKWebView();
webview.load(request);
return webview;
}
func updateUIView(_ uiView: WKWebView, context: Context) {
//
}
}

update


//
// SwiftUI_WKWebView.swift
// webview-app
//
// Created by 夏凌晨 on 2020/10/28.
// Copyright 2020 webgeeker. All rights reserved.
// import SwiftUI
//import Foundation
import WebKit struct SwiftUI_WKWebView: 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 webview = WKWebView()
webview.load(request)
return webview
}
func updateUIView(_ uiView: WKWebView, context: Context) {
//
}
} // Previews 入口
struct SwiftUI_WKWebView_Previews: PreviewProvider {
static var previews: some View {
// 联网的 URL, Canvas 必须开启 live preview, 动态的请求内容
SwiftUI_WKWebView(url: "https://cdn.xgqfrms.xyz")
.edgesIgnoringSafeArea(Edge.Set.top)
}
} /* // SwiftUI_WKWebView(url: "https://cdn.xgqfrms.xyz");
no need ;
CompileDylibError: Failed to build ContentView.swift
Compiling failed: ';' statements are not allowed */

JSBridge ???



refs

https://gist.github.com/xgqfrms/71a6f7471b79905fb53147b23805d382

https://cdn.xgqfrms.xyz/

https://www.youtube.com/watch?v=C5xxrCj8LC0



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


最新文章

  1. 如何利用tcpdump对mysql进行抓包操作
  2. Log4net入门使用
  3. iOS之04-方法的声明和实现
  4. 创建sh文件
  5. Linux体系结构(五): 文件系统
  6. upload.php --->文件上传
  7. 【关于JavaScript】自动计算的实例
  8. baidu面试题
  9. 解析c语言背后的汇编代码
  10. 依赖注入及AOP简述(十二)——依赖注入对象的行为增强(AOP) .
  11. 基于visual Studio2013解决面试题之1405归并排序
  12. 做web项目时对代码改动后浏览器端不生效的应对方法(持续更新)
  13. ExtJs异步无法向外传值和赋值的解决办法,亲测有效
  14. 简单的Spring Web工程跳转且传参Demo
  15. weex Mac开发环境
  16. 遍历其 interator
  17. SQL Server数据库的兼容级别
  18. Let me introduce myself
  19. JavaScript: Constructor and Object Oriented Programming
  20. Chap1 引言[The Linux Command Line]

热门文章

  1. 多路复用器Select、Poll、Epoll区别梳理
  2. .NET 中依赖注入组件 Autofac 的性能漫聊
  3. TCMalloc源码学习(一)
  4. JavaScript this 关键字详解
  5. Redis分布式锁升级版RedLock及SpringBoot实现
  6. XCTF-你是谁
  7. 最新Ceph L版与openstack Pike对接
  8. MySQL数据库操作生成UUID
  9. CCF-有趣的数(数位DP)
  10. 每个开发人员都应该知道的WebSockets知识