我们都知道,iOS因为屏幕分辨率的问题,UID在交付我们iOS开发人员程序配图的时候,一般是三套图,分别对应三种不同的分辨率,对不同size的屏幕系统会自动使用不同像素的图片,我们只需要在命名时给三套图统一命名@1x、@2x和@3x就可以了。

那么为什么会有三套图呢?

这是根据iPhone不断更新而随之出现的。iPhone4之前的iPhone3G/iPhone3GS甚至于更早的iPhone一二代手机,屏幕特点是一个点位只有一个像素;而iPhone4开始到iPhone6/iPhone6s,使用的就是Retina屏幕了,特点是一个点位放置了两个像素,这样在不扩大屏幕的前提下,屏幕的像素就扩大了四倍,分辨率也随之扩大了整整一倍;而iPhone6 Plus/iPhone6s Plus 带给我们的并不仅仅是5.5英寸大屏幕的舒适,而提高更显著的是它的像素数量进一步扩大,屏幕尺寸仅仅从iPhone6/6s的375*667变为414*736,而像素数量则从750*1334增加到1242*2208,分辨率扩大了整整2.74倍。或许从数据上我们能更直观的看出分辨率的变化。

这就是三套图的根本原因了,就是因为要匹配苹果所有机型的屏幕分辨率,也就是像素点位的问题。

目前新接手的项目,项目中所有切图只有一套图。因为并不了解公司的习惯问题所以没有发问,不过最近跟公司的UID姐姐一说,她也疑惑为什么她接手的套图都只有一套,但也没有跟老板说。我们都感叹终于治好了彼此的三套图强迫症,但这是后话。

昨天合成了老板从外包公司那儿拿回的新功能后,喜滋滋的给老板看,没想到老板提出了一个我完全没想到问题,为什么你的分栏控制器上的图片这么大,看着一点儿也不协调。

哪儿大了?我怎么没注意?

这是我们的项目TabBar

这是外包给的项目TabBar

貌似确实是有点儿大。强迫症又犯了,这是什么情况,总不是我眼睛出了问题吧。

下面开始尝试:

1.摘下眼镜揉了揉眼睛,擦了擦眼镜,还是原样。排除眼花了的原因;

2.接下来我就想到之前跟我纠缠了很久的UITabBar上的imageInsets的问题了(详情见我之前的博文设置UITabBarController上ImageInsets后点击不断缩小)。我的项目(简称项目1)的ImageInsets是在storyBoard上直接修改的,而外包公司的项目(简称项目2)是手写的代码,而且使用最终加到分栏控制器上的UINavigationController调到的tabBarController.tabBar。难道数值上有问题?

经过各种排列组合的尝试(过程不表),确认使用导航控制器还是视图控制器对调到的ImageInsets毫无影响,数值上两者也完全相同都是(0, 0, 0, 0),所以基本排除这方面的问题。

ps:至于调到tabBarItem的imageView后改变frame那是想都别想,没有这个接口。哎我也是什么招都想过了。或者有其他办法可以实现改变imageView的frame的,希望分享一下。

3。上面提到了,不管项目1还是项目2都只有一套图,而我默认都放在了@2x里面。难道与这个有关系?

放到@1x中

放到@3x中

@1x就比较呵呵了。。@3x似乎还可以,不过就是有点儿小了(哎强迫症又犯了)。看来此路行不通啊。

4.只好再一次查看两者之间的各种区别突然让我发现了一点:项目1的图片是72*72的像素,而项目2是60*60。

看到这儿各位应该就明白了吧。

我们习惯上的各种切图的大小,@1x一般是30*30,@2x相对应的是60*60,@3x则是90*90,分别对应三种分辨率。

而在实际使用当中,由于UIImage会根据UIImageView的frame和自身的缩放属性来决定缩放比例问题,所以图片自身的尺寸并不为我们看重,甚至无视了其30*30或60*60的必然性。而当我们无法改变上面的关于UIImageView和UIImage的属性的时候,我们才会看到切图自身的属性。

利用系统的切图工具将72*72缩放为60*60,问题解决。

最后再说一句,为什么会切出72*72这种尺寸的图片呢。。难道有什么特殊用法吗。

不过之后就能收到三套标准图啦,之前的都过去吧!

tabbar 图片太大了怎么办_设置TabBar分栏控制器上图片的大小问题相关推荐

  1. 设置TabBar分栏控制器上图片的大小问题

    我们都知道,iOS因为屏幕分辨率的问题,UID在交付我们iOS开发人员程序配图的时候,一般是三套图,分别对应三种不同的分辨率,对不同size的屏幕系统会自动使用不同像素的图片,我们只需要在命名时给三套 ...

  2. 图片太大了怎么压缩小一点?

    图片太大了怎么压缩小一点? 现在的我们不分男女老少都喜欢拍照,出门拍.风景拍.抓拍.家里摆拍等等,总之我们是从小的到老的只要有智能手机就不停的拍拍拍.这样不仅能记录日常的生活美景,更是给大家留下最美好 ...

  3. su模型太大了怎么办?能不能像1skp素材那样 压缩模型大小呢?

    su模型太大了怎么办?能不能像1skp素材那样 压缩模型大小呢?其实我们在使用草图大师软件中,经常会发现下载下来的模型超级的大,还超级的卡,8G的内存根本没有办法跑动,不想加内存的情况下 ,我们要怎么 ...

  4. 【安卓开发之图片分享应用3:设置底部导航栏】

    安卓开发之图片分享应用3:设置底部导航栏 一.创建底部导航栏 二.设置登录成功之后跳转到底部导航栏 一.创建底部导航栏 我们使用的是Android Studio里面自带的底部导航栏.首先我们直接在原来 ...

  5. 手机wps取消不等宽分栏_如何取消分栏 - 卡饭网

    Word 2007中取消分栏的技巧 Word 2007中取消分栏的技巧 前面我们了解了在Word2007中分栏的设置,相信很多朋友已经学会了,而如果想要对网上下载的分栏文档中进行取消,该怎么办呢?下面 ...

  6. JAVA中输出分两栏,老司机搞定Java 设置Word分栏

    电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到Java 设置Word分栏的问题,如果我们遇到了Java 设置Word分栏的情况,该怎么处理怎么才能解决Java 设置W ...

  7. html中图片太大了,css背景图片太大的坏处与解决方法

    在制作网页的过程中,有时候我们为了页面的个性.漂亮,会给通过CSS给网页设置一个很大的背景图片,可是背景图片太大的话不但会给我们的访客带来一些烦恼,还会对搜索引擎不友好,导致排名的降低,实在是得不偿失 ...

  8. 图片太大了怎么改小KB?教你2招无损图片压缩

    不管是专业的摄影师还是普通的人群,都有一双发现美的眼睛和一部保留美的手机或相机,但美好的东西太多,内存却不够怎么办?教你2兆无损压缩图片的方法. 话不多说直接进入正题,关于图片压缩最常用也最简单的方法 ...

  9. python提取图片文字视频教学_用Python提取视频中的图片

    小编自己码的通用型函数,支持各种常用视频格式,可满足常用需求,亲测效果和速度都不错. 想获取本文数据和完整代码的下载链接,请关注微信公众号"R语言和Python学堂",并回复发文日 ...

  10. easyui中的datetimebox 只显示年月日_设置Win10任务栏显示星期几方法

    平时我们用电脑时,在其右下角看时间一般默认的都是年月日和具体时间,并没有星期几.如果想看,那么需要将鼠标移动到时间处,停留一秒左右会显示出星期几.但这样似乎有些麻烦.今天小编就教大家一招儿直接让电脑显 ...

最新文章

  1. linux系统内存执行elf的多种方式
  2. 比特币多重签名机制使用篇
  3. [2] SSD配置+训练VOC0712+训练自己的数据集
  4. BZOJ1951 [Sdoi2010]古代猪文 【费马小定理 + Lucas定理 + 中国剩余定理 + 逆元递推 + 扩展欧几里得】...
  5. python 速度 memmap_浅析Python 读取图像文件的性能对比
  6. object detection之Win10配置
  7. TIOBE 8 月编程语言排行榜:Python 奋力追赶 C,Swift 下跌
  8. 如何成为一个真正在路上的Linuxer
  9. BIM族库下载——Revit栏杆族库
  10. 微信公众号H5 - 关于微信公众号h5网页实现分享图片
  11. 主动降噪python_尝试使用Pyadi主动降噪时遇到错误
  12. 2020-11-04 浏览器主页被毒霸劫持的解决方案
  13. 腾讯云副总裁王龙:云+AI是产业升级的最佳搭档
  14. latex参考文献生成双语对照文献表
  15. Kali安装VirtualBox增强功能
  16. 91 Three.js Texture纹理属性详解
  17. 计算机视觉(CV)-生成模型:WGAN【Lipschitz:Weight Clipping】--> WGAN-GP【Lipschitz:Gradient Penalty】
  18. 多元函数第六:连续函数(6)Bolzano-Weierstrass 波尔查诺-维尔斯特拉斯定理 聚点与列紧集
  19. Java找图 (截屏找图 大图找小图)--自己实现“按键精灵”
  20. 根据图片名字在drawable中得到图片

热门文章

  1. 光敏电阻、压敏电阻、热敏电阻记录整理
  2. 视觉三维重建核心算法讲解和代码实现(sfm构建稀疏地图和mvs构建稠密地图)...
  3. 基于虚拟化的安全性怎么关闭,无法开启虚拟机!
  4. 生活中的逻辑谬误02.稻草人谬误
  5. JS 案例 改变网页背景颜色
  6. 马士兵oracle_,马士兵oracle视频教程学习笔记个人整理
  7. 【C语言练习——打印空心下三角及其变形】
  8. Amazon Dynamo论文中文版
  9. netbeans php 安装教程,Netbeans下载安装教程教程
  10. 解决allegro 中OUT OF DATE SHAPES问题