美文网首页iOS自我学习库ios学习资料
关于iOS设置引导页优化问题

关于iOS设置引导页优化问题

作者: DSA碼侬 | 来源:发表于2016-06-15 18:24 被阅读1573次

    现在,总结一下设置iOS  app引导页,所误入的坑

    之前呢,所提交的版本没有怎么关注过引导页的优化问题,自认为让设计师搞几张不同屏(4/4s、5/5s/5c、 6/6s、 6 plus/6s plus)的图片就可以了,相当于是四种屏幕各切几套图片。但是呢,切好的png图片不能正常运行在6/6s上,会被拉伸变形,之后用的是jpg图片,单独放在了Supporting  Files下供6/6s使用,可是如果把这些jpg图片放在一个真实guidePages文件下,用如下代码是找不到的,path是空

    百度过好多,有说把文件添加到Copy Bundle Resources的,可是我的的确已经添加了,最终,试了试不加 “guidePages/” 这些字符,结果path是有值的,xcode7.3真是不按套路出牌。

    回头看了看引导页图片尺寸,这几天搜了一些别人走过的坑自己琢磨一下,得知:

    一、每个不同屏幕都做新的引导页,的确安装包会很大(因为我们的引导页好几张呢),可能会有两中解决办法了   1是背景色是不变的话,设计师可以只做中间的图片,这样会小一些, 2是只切割一套屏幕的引导页(6/6s的 750*1334)即可,当然只切割两套(4/4s、6/6s)也是可以的。

    二、不同屏幕的屏大小比较:

     4/4s     3.5inch    分辨率640*960      高宽比960/640 = 1.5

    5/5s/5c/SE         4inch            分辨率640*1136            高宽比1136/640 = 1.775

    6/6s/7/8              4.7inch         分辨率750*1334           高宽比1334/750 = 1.775  

    6plus/6splus

                                5.5inch          分辨率1242*2208         高宽比2208/1242 = 1.778

    /7plus/8plus           

    x                           5.8inch         分辨率1125*2436          高宽比2436/1125 =  2.165

    可知  切割一套6/6s就可以了 ,小屏可做截取  大屏可做等比拉伸显示。

    三、关于UIView的属性问题,UIView-UIImageView有个属性是contentMode,可取值:UIViewContentModeScaleToFill  拉伸图片至填充整个UIImageView,图片的显示尺寸会和imageVew的尺寸一样 。  

    UIViewContentModeScaleAspectFit  按照图片的原来宽高比进行伸缩,伸缩至适应整个imageView(图片的显示尺寸不能超过imageView尺寸大小)。

    UIViewContentModeScaleAspectFill 按照图片原来的宽高比进行伸缩,伸缩至图片的宽度和imageView的宽度相等 或者 图片的高度和imageView的高度相等  (只有宽和高其中一个相等是不可以的,图片的缩放尺寸可以超过imageView尺寸大小,伸缩必有scale  等比伸缩必有aspect)如下图所示即可以了:

    四、加载图片注意点:imageName:方式加载的图片---1、当对象销毁的时候,图片占用的内存不会随着一起销毁,内存由系统来管理,程序员不可控制 2、加载的图片,占用的内存非常大 3、相同的图片不会被重复加载到内存

    imageWithContentsOfFile:方式加载图片---1、当对象销毁的时候,图片占用的内存会随着一起销毁 2、加载的图片占用的内存较小 3、相同的图片如果被多次加载就会占据多个内存空间

    所以,如果图片比较小,并且使用非常频繁,可以使用imageName:(eg icon),如果图片比较大,并且使用比较少,可以使用imageWithContentsOfFile:(eg 引导页  相册)

    相关文章

      网友评论

        本文标题:关于iOS设置引导页优化问题

        本文链接:https://www.haomeiwen.com/subject/aqrpdttx.html