iOS:FLEX控件相对位置功能扩展

732 阅读2分钟

前言

FLEX是一个功能强大的debug工具,对于iOS开发者来说,宛如倚天剑,削铁如泥,得心应手!可以查看视图层级、文件、数据库、网络接口等等。详情可以阅读下面地址:

  • Github官网地址
  • FLEX 一个轻量级App多维分析工具 虽然FLEX功能足够全面了,但是没有查看两个视图的相对位置。这个对于UI工程师走查是非常需要的,它可以确认是否按照UI进行布局。对于开发者来说,同样可以快速确认UI布局是否正确。 既然FLEX自己没有,那我们就自己动手给它加上。

相对位置功能扩展

方案一

通过swizzle不侵入源码,进行扩展。查看FLEX.podspec文件,文件只暴露了spec.public_header_files = [ "Classes/**/FLEXManager.h", "Classes/FLEX.h" ]。想swizzle的类都拿不到,所以放弃该方法。

方案二

fork仓库,自定义源码,变成一个带有相对位置功能的个人分支版本。在别人的代码基础上进行修改,尽量做到入乡随俗。遵从内部的代码规范,编码模式等等。做到看起来就像是一个人写的(我没有做到- -)。因为内部方法封装的比较好,许多都可以直接拿来用。下面看看最终成果吧

JXFLEX-1.gif

使用

我扩展了toolBar,增加了一个relativeItem。点击它,就进入相对位置查看功能。虚线是view的bounds的辅助线。 1.只点击了一个view,就会显示相对于它的父视图的边距。 2.点击了两个,就会显示两个view的相对距离。 3.最多只能有两个view的相对位置比较,超过两个,会将第一个移除,再添加新增的view。

代码仓库

Github地址 喜欢就点颗❤️