SwiftUI render WKWebView
2024-10-21 20:35:41
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://www.youtube.com/watch?v=C5xxrCj8LC0
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
最新文章
- 如何利用tcpdump对mysql进行抓包操作
- Log4net入门使用
- iOS之04-方法的声明和实现
- 创建sh文件
- Linux体系结构(五): 文件系统
- upload.php --->;文件上传
- 【关于JavaScript】自动计算的实例
- baidu面试题
- 解析c语言背后的汇编代码
- 依赖注入及AOP简述(十二)——依赖注入对象的行为增强(AOP) .
- 基于visual Studio2013解决面试题之1405归并排序
- 做web项目时对代码改动后浏览器端不生效的应对方法(持续更新)
- ExtJs异步无法向外传值和赋值的解决办法,亲测有效
- 简单的Spring Web工程跳转且传参Demo
- weex Mac开发环境
- 遍历其 interator
- SQL Server数据库的兼容级别
- Let me introduce myself
- JavaScript: Constructor and Object Oriented Programming
- Chap1 引言[The Linux Command Line]