代码库> 其他> 超轻量级屏幕适配代码
超轻量级屏幕适配代码
关注
上传者:yangtianci 分类:其他(Others)
查看次数:2745 下载次数:216
上传时间: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


综合评论
  • 还是有bug,四个选项,选择第二个,再选第三个,然后再点击第二个,就页面失灵了。
    18598270503 评论了 CBSegment
  • 视酷即时通讯,售后服务非常差,当面一套,背后一套,付了钱,啥事不管
    18615677850 评论了 视酷即时通讯群聊系统
  • 这个只能在苹果的原生地图上运用吗?
    15223416385 评论了 经纬度画运动轨迹
  • 真有意思,放个与标题不一样的项目,还有人评论好
    小忆月 评论了 地址管理
  • 搜索怎么不走 老铁?
    爱上非主流女孩 评论了 通过地图获取地址信息
  • 需要苹果证书的
    18550014066 评论了 打砖块
提示
sina weixin mail 回到顶部