什么是Introspect

Introspect允许您获取SwiftUI视图的基础UIKit或AppKit元素。例如,使用Introspect,您可以访问UITableView来修改分隔符,或者访问UINavigationController来自定义选项卡栏。

参考资料

  • 参考资料

工作原理

Introspect的工作原理是将自定义IntrospectionView添加到视图层次结构,然后查看UIKit层次结构以找到相关视图。

例如,当自省TextField时,它将:

  • 将IntrospectionView添加为TextField的覆盖
  • 获取自省视图的视图宿主(位于UITextField的视图宿主旁边)
  • 获取包含UITextField的上一个同级
    请注意,这种自省方法可能会在以后的SwiftUI版本中中断。未来的实现可能不会使用相同的层次结构,或者可能不会使用正在寻找的UIKit元素。尽管该库不太可能崩溃,但在这种情况下不会调用.introspect()方法。

生产中的使用

Introspect是指将用于生产中。它不使用任何私有API。它仅使用公开可用的方法检查视图层次结构。该库采用了一种防御性的方法来检查视图层次结构:没有硬性假设可以以某种方式

Swift SwiftUI 必备础库之 01 Introspect相关推荐

  1. Swift项目引入第三方库的方法

     分类: iOS(55)  目录(?)[+] Swift项目引入第三方库的方法 转自 http://blog.shiqichan.com/How-To-Import-3rd-Lib-Into-Swif ...

  2. swift项目调用OC库 和OC项目 在swift文件里面全局调用OC库

    最近比较清闲,就把以前学习的过程记录下吧,多少年后如果能在互联网上找到自己的痕迹,想想还是一件蛮值得高兴的事情. 正好这两天加了一个swift学习群想继续学习swift,发现好多swift初学者,在混 ...

  3. java语言程序设计考题_《JAVA语言程序设计》期末考试试题及答案6(应考必备题库)...

    <JAVA语言程序设计>期末考试试题及答案6(应考必备题库) 一.填空题 1.定义类的保留字是( class ),定义接口的保留字是( interface ). 2.Socket通常也称为 ...

  4. macOS SwiftUI 指示器组件规范之 01 液位指示器Level Indicators

    macOS SwiftUI 指示器组件规范之 01 液位指示器Level Indicators 指示器以图形方式表示数值范围内的特定值.它的用途类似于滑块(请参见Sliders),但更直观,并且不包含 ...

  5. OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries

    OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries.有时间报的错误 ...

  6. swift导入oc第三方库

    swift导入oc第三方库 前言 对于ios开发而言,目前很多第三方库或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方库 ...

  7. python必备第三方库-20个必不可少的Python库也是基本的第三方库

    传智播客博学谷 微信号:boxuegu- get最新最全的IT技能 免费领取各种视频资料 今天将介绍20个常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Ke ...

  8. 2015会计从业题库M7.01 / Crack

    最近电脑坏掉,正维修中今天告诉我登录不到系统 告诉对方密码 也没有办法进入系统,只有重装了哎,内存注入及几个重要函数 远过程汇编调用包括截包方面的代码是白写了 不过也没办法, 好了不谈那些 今天我介绍 ...

  9. rust超低配置补丁_腐蚀rust游戏必备运行库下载_rust腐蚀启动插件下载-游迅网

    不知道怎么下载?点我 游戏介绍 <腐蚀>这款游戏有些玩家首次下载安装的时候,可能无法启动,那是因为电脑上缺少<腐蚀>游戏必备运行库,插件只有一个,玩家很快就能够下载安装吧,然后 ...

最新文章

  1. Struts2之struts-2.3.20开发环境的搭建并实现第一个Hello World小应用
  2. viewport meta 标签在手机浏览器上控制布局
  3. 百度元老黯然离职是被开除?向海龙回应...
  4. 面向对象的特点_java基础 之 面向对象
  5. 代理网络中安装tomcat的注意事项
  6. 微服务2.0时代,论其痛点与触点
  7. 网上商城项目总结报告
  8. python实现定位附近的_c#教程之使用GPS经纬度定位附近地点(某一点范围
  9. 开关稳压器详解(四)-Buck降压型开关稳压器自举电路
  10. 2022-2027年中国盐酸二甲双胍缓释片行业市场全景评估及发展战略规划报告
  11. 杭电OJ 11页2025//查找其中的最大字母,在该字母后面插入字符串“(max)”
  12. verilog 四舍五入_Verilog进行饱和与截位操作
  13. [附源码]计算机毕业设计springboot小太阳幼儿园学生管理系统
  14. 【笔记】磁盘管理(2):磁盘分区、增加swap
  15. hbase数据库_hbase 什么类型的数据库
  16. 2021年R1快开门式压力容器操作考试题及R1快开门式压力容器操作模拟考试
  17. mysql的binlog太大太多占用大量磁盘的解决
  18. 如何绘制三次B样条曲线
  19. 真假美猴王-Numpy数据与Python数组的区别与联系
  20. 数据中台(01)- 全面了解数据中台

热门文章

  1. 信息流广告文案与创意设计
  2. STM32笔记-FM收音机
  3. BZOJ3755 : Pty爬山
  4. 4g全网通SMD贴片内置天线怎么选择?
  5. 工作日记:JavaScript生成随机色
  6. 「来道题」Redis的Gossip协议
  7. 美团智能支付背后的前端工程师
  8. 数据库 schema含义
  9. pyqtgraph帮助手册
  10. WiFi底层通信接口@Netlink