关于swiftUI和UIKit混用
思路无非就是自定义一个结构体view实现UIViewRepresentable协议,然后就可以作为一个swiftUI组件进行调用了
1、我们要定义一个CustomView这个名字随便起 struct CustomView : UIViewRepresentable {}
2、在结构体中定义makeUIView和updateUIView方法,在makeUIView中返回UIKit视图
如下
func makeUIView(context: Context) -> UIView {
//定义view内容
let view = UITableView()
view.delegate = self.makeCoordinator()
view.dataSource = self.makeCoordinator()
view.frame = CGRect(x: 0, y: 100, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height - 100)
return view
}
3、在CustomView中定义一个class实现UITableViewDelegate和UITableViewDataSource协议
class Controller : NSObject,UITableViewDelegate,UITableViewDataSource{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView .dequeueReusableCell(withIdentifier: "cell")
if (cell == nil) {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
return cell ?? UITableViewCell()
}
return cell!
}
}
4、在结构体中添加makeCoordinator方法返回代理
func makeCoordinator() -> Controller {
//添加代理人
return CustomView.Controller()
}
5、在makeUIView中将代理delegate和dataSource赋值给tableView
6、在swiftUI组件中调用CustomView就行
VStack{
CustomView()
}
关于swiftUI和UIKit混用相关推荐
- 我到底应该学SwiftUI?UIKit?还是both?
最近有些朋友问我,我学Swift到底应该学SwiftUI还是UIKit也要学?哈哈,你是不是也在期待着这样的回答:all in SwiftUI吧,UIKit的内容不用管了!然鹅,如果你听了这话,那目前 ...
- SwiftUI 很难赶上 UIKit?
作者 | jesse squires 译者 | 弯月 责编 | 张红月 出品 | CSDN(ID:CSDNnews) 自 SwiftUI 在 WWDC 2019 大会上发布以来,我就一直在关 ...
- SwiftUI 发展现状和学习指南
简介 SwiftUI 是2019年 随着 iOS13发布的全新整个苹果生态系统的用户界面与状态的框架. 声明式写 UI, 响应式绑数据,可视化编辑器 SwiftUI 是苹果生态大统一. 优点 实时预览 ...
- combin14_使用SwiftUI,Combin和Swift Package Manager(SPM)构建复杂的模块化架构
combin14 We should imagine a modular architecture like a modular building. We need to put pre-design ...
- 第一个 iOS 项目开发小结 - SwiftUI 学习资料、开源项目
第一个 iOS 项目开发小结 SwiftUI 知识点小记 学习资料 开源项目 一些问题记录 项目预览 这段时间由于项目需要,我学习了一段时间 SwiftUI 并单独完成了一个系统的开发,耗时两个星期, ...
- SwiftUI学习(一)
总览 如果你想要入门 SwiftUI 的使用,那 Apple 这次给出的官方教程绝对给力.这个教程提供了非常详尽的步骤和说明,网页的交互也是一流,是觉得值得看和动手学习的参考. 不过,SwiftUI ...
- SwiftUI应用开屏广告界面项目(一)
SwiftUI iOS应用开屏广告界面项目(一) 瞎扯 不想看我瞎扯可以直接跳到这 需求 源码 思路分析 页面跳转 计时 远程图片获取 瞎扯 最近开始玩Swift试试macOS和iOS开发 我都快忘了 ...
- SwiftUI 小专栏20200817汇总
SwiftUI 布局篇汇总 9 分钟前共695字 SwiftUI 如何编程打开Office Word PPT Excel PDF PNG iWor... 14 小时前共4389字 SwiftUI 小技 ...
- SwiftUI——如何调用相机
SwiftUI调用相机和调用相册其实是一个思路,只用修改一个地方.相册调用请看这里. 我们继续来说相机调用,SwiftUI没办法自己获取相机,所以得依靠一下UIKit,所以头文件如下: import ...
- SwiftUI——如何获取系统相册的照片
SwiftUI没办法自己获取系统相册内容,所以得依靠一下UIKit,头文件如下: import SwiftUI import UIKit 首先我们创建一个ImagePicker结构体供我们获取系统相册 ...
最新文章
- c语言实现字符串中提取数字,遇到非字符串则换行
- 键盘输入_键盘输入技巧
- Sql Server中Select @Value和Select Value的区别
- View工作原理(三)视图大小计算过程(measure过程)
- 可视化mysql怎么导入sql文件_使用navicat导入sql文件的方法步骤
- CTF——MISC——流量分析
- LinCode落单的数
- git远程仓库的使用
- 计算机组成原理————P1 软硬件发展
- Borderline-SMOTE算法介绍及Python实现【内附源代码】
- Android触摸屏校对,android实现触摸屏校准
- 报错:NavigationDuplicated: Avoided redundant navigation to current location(跳转了重复路由)
- liquibase-数据库脚本升级管理
- 多线阵列激光三维扫描系统及多线阵列激光三维扫描方法
- 引擎动力出现问题 Space X第六批星链卫星中止发射
- 02325计算机系统结构ppt,02325计算机系统结构2009
- AStyle2.02在VS2008下的使用
- 常用fastboot命令
- 数据分析学习日记 Day4
- 武大在职博士有计算机专业吗,武汉大学北京在职博士和全日制博士比怎么样