思路无非就是自定义一个结构体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混用相关推荐

  1. 我到底应该学SwiftUI?UIKit?还是both?

    最近有些朋友问我,我学Swift到底应该学SwiftUI还是UIKit也要学?哈哈,你是不是也在期待着这样的回答:all in SwiftUI吧,UIKit的内容不用管了!然鹅,如果你听了这话,那目前 ...

  2. SwiftUI 很难赶上 UIKit?

    作者 | jesse squires 译者 | 弯月      责编 | 张红月 出品 | CSDN(ID:CSDNnews) 自 SwiftUI 在 WWDC 2019 大会上发布以来,我就一直在关 ...

  3. SwiftUI 发展现状和学习指南

    简介 SwiftUI 是2019年 随着 iOS13发布的全新整个苹果生态系统的用户界面与状态的框架. 声明式写 UI, 响应式绑数据,可视化编辑器 SwiftUI 是苹果生态大统一. 优点 实时预览 ...

  4. combin14_使用SwiftUI,Combin和Swift Package Manager(SPM)构建复杂的模块化架构

    combin14 We should imagine a modular architecture like a modular building. We need to put pre-design ...

  5. 第一个 iOS 项目开发小结 - SwiftUI 学习资料、开源项目

    第一个 iOS 项目开发小结 SwiftUI 知识点小记 学习资料 开源项目 一些问题记录 项目预览 这段时间由于项目需要,我学习了一段时间 SwiftUI 并单独完成了一个系统的开发,耗时两个星期, ...

  6. SwiftUI学习(一)

    总览 如果你想要入门 SwiftUI 的使用,那 Apple 这次给出的官方教程绝对给力.这个教程提供了非常详尽的步骤和说明,网页的交互也是一流,是觉得值得看和动手学习的参考. 不过,SwiftUI ...

  7. SwiftUI应用开屏广告界面项目(一)

    SwiftUI iOS应用开屏广告界面项目(一) 瞎扯 不想看我瞎扯可以直接跳到这 需求 源码 思路分析 页面跳转 计时 远程图片获取 瞎扯 最近开始玩Swift试试macOS和iOS开发 我都快忘了 ...

  8. SwiftUI 小专栏20200817汇总

    SwiftUI 布局篇汇总 9 分钟前共695字 SwiftUI 如何编程打开Office Word PPT Excel PDF PNG iWor... 14 小时前共4389字 SwiftUI 小技 ...

  9. SwiftUI——如何调用相机

    SwiftUI调用相机和调用相册其实是一个思路,只用修改一个地方.相册调用请看这里. 我们继续来说相机调用,SwiftUI没办法自己获取相机,所以得依靠一下UIKit,所以头文件如下: import ...

  10. SwiftUI——如何获取系统相册的照片

    SwiftUI没办法自己获取系统相册内容,所以得依靠一下UIKit,头文件如下: import SwiftUI import UIKit 首先我们创建一个ImagePicker结构体供我们获取系统相册 ...

最新文章

  1. c语言实现字符串中提取数字,遇到非字符串则换行
  2. 键盘输入_键盘输入技巧
  3. Sql Server中Select @Value和Select Value的区别
  4. View工作原理(三)视图大小计算过程(measure过程)
  5. 可视化mysql怎么导入sql文件_使用navicat导入sql文件的方法步骤
  6. CTF——MISC——流量分析
  7. LinCode落单的数
  8. git远程仓库的使用
  9. 计算机组成原理————P1 软硬件发展
  10. Borderline-SMOTE算法介绍及Python实现【内附源代码】
  11. Android触摸屏校对,android实现触摸屏校准
  12. 报错:NavigationDuplicated: Avoided redundant navigation to current location(跳转了重复路由)
  13. liquibase-数据库脚本升级管理
  14. 多线阵列激光三维扫描系统及多线阵列激光三维扫描方法
  15. 引擎动力出现问题 Space X第六批星链卫星中止发射
  16. 02325计算机系统结构ppt,02325计算机系统结构2009
  17. AStyle2.02在VS2008下的使用
  18. 常用fastboot命令
  19. 数据分析学习日记 Day4
  20. 武大在职博士有计算机专业吗,武汉大学北京在职博士和全日制博士比怎么样

热门文章

  1. Dragonfly单机部署比redis快25倍的缓存中间件
  2. WebIM 网页聊天工具
  3. 下载python开发环境
  4. Windows Server 2012 R2 安装补丁
  5. org/w3c/dom/ElementTraversal 错误解决办法
  6. 学习笔记13--障碍物检测之基于图像障碍物检测
  7. 深入解读:从DDIM到Improved Denoising Diffusion Probabilistic Models
  8. R语言中dim函数_R 语言中的矩阵计算
  9. C#-笔记-面向对象-第一章
  10. 系统服务(daemon)