前言
做过几年IOS开发的都会有这样一种感觉,就是界面适配工作越来越难做了,原来iphone机型少,问题不大,但随着现在iphone机型越来越丰富,这个问题更加严重了。总结一下,ios开发中碰到的问题如下:
- 对于稍复杂点的界面,在xib中设置autolayout是件极其容易出错的事情,如果不用xib改用masonry,则需要写大量的代码,而且无法直观的看到效果
- 同一个项目,大量控件的属性都是一样的,但是你不得不在xib或者代码中一次又一次的重复设置同样的属性
- 对于稍微大一些的工程,每做一次改动如果想看到效果,必须编译运行才行,这需要大量的时间,往往人的耐心就是这样耗没的(。•ˇ‸ˇ•。)
- iphonex一出,多少工程都需要大量的工作来适配,包括微信都出了三版来做适配工作,太悲催了(。•ˇ‸ˇ•。)
- UITableView中cell高度的计算,一不小心cell的内容就乱套了
- 对于设计复杂的按钮高亮效果,UIButton显得有些力不从心
- 页面中包含大量的输入框,为了躲避键盘的遮挡不得不编写大量的代码来实现
FlexLib正是为了解决这些问题而诞生的。
FlexLib的特性
1. 该框架使用简明易懂的xml格式,可以方便的复制粘贴,样例如下:
2. 支持将工程中常用的属性写在独立的style文件中,然后在xml布局中直接引用该风格即可,避免在每个xml文件中都重复写入大量同样的样式。

3. 该框架支持界面的热更新,可以在程序运行时修改xml布局,然后在模拟器中按一下Cmd+R即可立刻看到修改后的效果,大大方便了开发调试。

4.该框架自动适配包括iPhone X在内的所有机型,无需单独为iPhone X进行适配工作

5. 支持自动计算UITableCell的高度,不用每次都手动计算其高度
6. 使用FlexTouchView轻松实现复杂的按钮高亮效果
7. 复杂表单自动躲避键盘遮挡,如下:

除此以外,该框架还包含众多其他特性,详细信息请访问:FlexLib
https://github.com/zhenglibao/FlexLib