代码库> 其他> 超轻量级屏幕适配代码
超轻量级屏幕适配代码
关注
上传者:yangtianci 分类:其他(Others)
查看次数:2583 下载次数:204
上传时间:2016-04-24 大小:27 B
今天写控件frame的时候不想用Masonry,因为代码太多,又费脑,所以自己想开发一套工具类可以直接转换一套固定屏幕的frame能够在多种屏幕上使用,然后就写出了这个小工具类,基本的适配试了4s/6s/6sPlus基本都还可以,主要是6s和6sPlus更好,至于4s因为屏幕宽高比比较大,所以有一点形变,其他的基本还OK,不过嘛,本来就是试用版本,还会持续改进的.
使用方式:
导入Layout_ByYTC_Lib文件夹
在需要的文件里导入头文件
以上做好之后就是关键的了
以[4S]为例:
1.将UI给你的4s版的原型图根据上面标注的所有控件的frame,先将所有的farme写成CGRectMake...形式的CGRect变量[有的frame需要自己根据margin等等去计算,总之,得到相对于父视图的frame数据,制作成变量即可]
2.创建Layout_ByYTC类单例对象
Layout_ByYTC *ytc = [Layout_ByYTC share_Ytc_ManagerWithOriginalScreenSize:CGSizeMake(320, 480)];
并且将当前frame适用的屏幕宽高作为参数传入
3.用ytc对象的ScaleRect_ByYtc方法对上面的frame做处理
例如:CGRect chagedBigRect = [ytc ScaleRect_ByYtc:bigViewRect];
当然,一句代码搞定即可
CGRect chang = [ytc ScaleRect_ByYtc:CGRectMake(10, 120, 300, 150)];
参数就是原型图中的frame
4.将处理之后的frame设置给响应的控件即可

这样设置的控件frame会根据机型自己改变.

除此之外,如果只希望size或者坐标根据机型改变甚至只希望单独x/y改变,那么在设置frame的时候只用将相应的部分用ytc对象执行如:ScalePoint_ByYtc之类的方法并将返回的数据替代为frame的原本部分即可实现.

之后就能实现基本的适配机型.

最后:此工具类还处于试用版本,出现bug不可避免,望见谅,同时,也欢迎加我的QQ:624946274[虹之间]进行探讨.
收藏
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0
提示
sina weixin mail 回到顶部