IOS界面开发利器 --- FlexLib
前言
做过几年IOS开发的都会有这样一种感觉,就是界面适配工作越来越难做了,原来iphone机型少,问题不大,但随着现在iphone机型越来越丰富,这个问题更加严重了。总结一下,ios开发中碰到的问题如下:
1.对于稍复杂点的界面,在xib中设置autolayout是件极其容易出错的事情,如果不用xib改用masonry,则需要写大量的代码,而且无法直观的看到效果
2.同一个项目,大量控件的属性都是一样的,但是你不得不在xib或者代码中一次又一次的重复设置同样的属
3.对于稍微大一些的工程,每做一次改动如果想看到效果,必须编译运行才行,这需要大量的时间,往往人的耐心就是这样耗没的(。•ˇ‸ˇ•。)
4.iphonex一出,多少工程都需要大量的工作来适配,包括微信都出了三版来做适配工作,太悲催了(。•ˇ‸ˇ•。)
5. UITableView中cell高度的计算,一不小心cell的内容就乱套了
6. 对于设计复杂的按钮高亮效果,UIButton显得有些力不从心
使用FlexLib, 可以大幅提高ios的界面开发速度,并且适应性更好。
FlexLib的特性
FlexLib就是为了解决这些问题而产生的一个布局框架。该布局框架基于flexbox模型,这个模型是web端的布局标准。基于flexbox模型,FlexLib提供了强大的布局能力,并且易于使用。该框架主要特性如下:
1.该框架使用xml文件保存页面布局,因此你可以直接复制粘贴
xml布局文件示例
2.支持将工程中常用的属性写在独立的style文件中,然后在xml布局中直接引用该风格即可,避免在每个xml文件中都重复写入大量同样的样式。
style样式文件示例
3.该框架支持界面的热更新,可以在程序运行时修改xml布局,然后按一下Cmd+R即可立刻在模拟器中看到修改后的效果,大大方便了开发调试。
热更新预览
4.该框架自动适配包括iPhone X在内的所有机型,无需单独为iPhone X进行适配工作
iPhone X运行效果
5.支持自动计算UITableCell的高度,不用每次都手动计算其高度
6.通过FlexTouchView,可以对复杂的按下效果进行组合,轻松实现高亮等效果。
该框架的详细信息:
https://github.com/zhenglibao/FlexLib