进入新公司的第一个测试我能力的项目,就是做一个仿微信聊天界面的APP,其中有一个重要的考查点就是气泡效果,需要气泡大小能适应文字或者图片、文件的显示区域。当时想到了用代码和Image Slicing两种方式实现,和大家分享一下。

一、代码实现图片缩放

对于拉伸的方式,有以下两种:

*IUIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域是我们要保护的区域,也就是不被拉伸的区域

*UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域是要保护的区域,也就是不被重复显示的区域

二、Image Slicing可视化缩放

何为Image Slicing呢?,其实就相当于一个可视化的resizableImageWithCapInsets,可以用于指定在图片缩放时用来填充的像素。我们可以在Xcode的Assets.xcassets目录中选择要slicing的图片,点击图片界面右下方的Show Slicing按钮,在想要设定切片的图片上点击Start Slicing,将出现左中右(或者上中下)三条可以拖动的指示线,通过拖动它们来设定实际的缩放范围。

在左侧线(或者上方线)和中间线之间的像素将在缩放时被填充,在中间线和右侧线(或者下方线)之间的像素将被隐藏。

三、总结

代码的方法适用于处理网络上的图片,以及image中大量同一类需要处理的图片,提高效率;

Image Slicing方法适用于单个图片,可视化,提高可操作性。

ios 中间 图片缩放_iOS开发--如何进行图片缩放相关推荐

  1. ios 取设备语言_iOS开发:获取手机等设备当前的语言和地区的方法

    在iOS开发过程,尤其是开发有需要做国际化的项目的时候,如果需要做本地语言国际化,需要获取到手机本地语言设置,然后向服务器请求数据的时候,需要把获取到的手机本地语言参数传给后台,然后后台根据具体的语言 ...

  2. ios 判断数字大小_iOS开发积累2

    3.设备的CPU架构简介 模拟器: 4s~5 : i386 5s~6plus : x86_64 真机: 3gs~4s : armv7 5~5c : armv7s (静态库只要支持了armv7,就可以跑 ...

  3. ios 裁剪圆形头像_iOS开发笔记:实现圆形头像

    初学iOS,记录一下自己遇到的一些问题,也希望能够对别人有所帮助 一般应用的个人头像如上图,圆形头像算是每款App中最常见的东西了,刚好最近有遇到这个问题,并且顺利解决了,其实很简单,调用layer这 ...

  4. ios 使用webview 查找_iOS开发WKWebView与JS的交互

    iOS8以后,Apple公司推出了WKWebView,对比之前的UIWebView不论是处理速度还是内存性能,都有了大幅度的提升! 那么下面我就分享一下WKWebView与JS的交互. 首先使用WKW ...

  5. ios支付 选择货币_iOS开发中金钱货币的计算问题

    ios开发中涉及到和货币价格计算相关的,都需要注意计算精度的问题. 服务器有可能返回的金钱是int float double string NSNumber, 单纯的float.double的计算都会 ...

  6. ios 后台唤醒应用_IOS开发之----详解在IOS后台执行

    文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间. 还有三种类型的可以运行在后以, 1.音乐 2.location 3.voip 文 ...

  7. ios 裁剪圆形头像_iOS开发之裁剪圆形头像

    - (void)viewDidLoad { [super viewDidLoad]; //加载图片 UIImage *image = [UIImage imageNamed:@"菲哥&quo ...

  8. ios 自定义拍照页面_iOS开发笔记:自定义相机拍照

    目录 之前用AVFoundation自定义相机做了拍照与视频相关的东西,为什么要自定义呢?主要是提供更个性化的交互设计,符合app主题,对于视频来说,也便于提供更多丰富有趣的功能.前段时间整理了下拍照 ...

  9. ios 给网页传值_iOS开发—页面传值汇总

    情况1:A页面跳转到B页面 方法1:在页面跳转的同时,将A页面的值带到B页面 B页面的控制器中设置一个接收值的对象,并且设置一个显示值的textfield,设置outlet @property (no ...

  10. ios 去掉底部状态栏_iOS开发之状态栏隐藏(问题篇)

    一.基本应用 相信基本的隐藏办法网上很多,这里只简单说明一下 1⃣️改变全局状态栏 1.在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppeara ...

最新文章

  1. 厉害了,用Python实现自动扫雷!
  2. git show查看本地文件的修改部分,git diff 如何比较文件,git grep 搜索
  3. Java 常用类 -Arrays
  4. java 代码性能优化_Java代码性能优化(四)
  5. python中的'\b'、'\r'
  6. Spring Ioc源码分析 之 Bean的加载(4):实例化Bean(createBeanInstance()方法)
  7. Bezier(贝塞尔曲线)
  8. SQL数据库查询基础(主讲MySQL,必要时补充了SQLServer、Access兼容性说明)
  9. oracle怎么查询模式名,oracle怎么查询数据库实例的三种方式
  10. 《OpenGL编程指南(原书第9版)》——3.3 顶点规范
  11. svm gui安装 matlab,svm_matlab_gui 支持向量机matlab工具箱(含资料及gui模式)用于分类和回归预测 - 下载 - 搜珍网...
  12. C语言异常处理之 setjmp()和longjmp()
  13. 103.二叉树的锯齿形层次遍历:DFS解法
  14. BPSK、8PSK、QPSK、16QAM、64QAM区别与联系
  15. 不懂自学还想去大厂?快醒醒吧!
  16. [UnityPhoton]Photon Chat 对话框测试
  17. vue-cli3的项目 CDN链接报错解决 Uncaught TypeError: Cannot read property 'prototype' of undefined at Object.
  18. MinGW-w64在windows下的离线安装
  19. 女孩子付钱用计算机,“让女生付钱太没面子了,你转账给我吧。”
  20. DWD层 (业务数据 二)

热门文章

  1. C++实例(十一)Excel表格操作
  2. 软件系统 - 网址大全
  3. mysql每组排序后取前2条,并修改数据
  4. android自定义锁屏界面设置,android 锁屏壁纸和桌面壁纸的设置实现
  5. 华中农业计算机硕士就业,华中农业大学好就业吗?附华中农业大学就业率最高的专业名单...
  6. CTF·Crypto·古典密码大全
  7. CME ERROR错误代码列表
  8. 一个简单的日内交易策略
  9. xss.haozi.me靶机
  10. 梦幻西游动画效果展示