【原】iOS学习之图片拉伸处理(类似qq的气泡)
原理是拉伸里面的内容,将边保护起来
方法1:
- ①[image resizableImageWithCapInsets:UIEdgeInsetsMake(, , , )];
- ②[image resizableImageWithCapInsets:UIEdgeInsetsMake(, , , ) resizingMode:UIImageResizingModeStretch];
- typedef NS_ENUM(NSInteger, UIImageResizingMode) {
- UIImageResizingModeTile,(瓦片)
- UIImageResizingModeStretch,(伸展)
- };
上述的方法是将图片没有保护的部分进行拉伸。
①直接传入保护的范围,没有设置图拉伸的模式,默认为UIImageResizingModeTile(瓦片式)就是将图片以原来的大小就行平铺显示
②设置图片拉伸的模式
方法2:
- [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
苹果原始就存在的方法,已经被舍弃,这个方法只会拉伸中间 1*1 的区域
一般传入的值为图片大小的一半
计算公式为:
// left(传入)
// top(传入)
// width
// height
// right = width - left - 1;(计算)
// 1 = width - left - right;
// bottom = height - top - 1;(计算)
// 1 = height - top - bottom;
方法3:
不需要写代码
将图片拖拽到images.xcassets,具体设置步骤如下图:
将图片按照上图方法设置后,图片会一直可以拉伸
【原】iOS学习之图片拉伸处理(类似qq的气泡)的更多相关文章
- iOS杂谈-图片拉伸的实现
如上图是一个按钮的背景图,在Android上,很多图片资源都是类似这样子的,但是由于按钮的高度及宽度与图片的世纪尺寸不同,所以需要采用9patch来实现拉伸处理, 可参考:http://www.cnb ...
- iOS学习-压缩图片(改变图片的宽高)
压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image ...
- 李洪强iOS开发之图片拉伸技巧
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设 ...
- 【ios开发】图片拉伸
最近在做一个项目 其中要自己定制一个View 如图: 但是美工给了我的图片尺寸却是不一样的. 分别是599*80 26*61 于是就成了这样的效果. 很明显的发现取消四周不对劲. 于是我就去找美工姐 ...
- iOS中图片拉伸,类似Android中的点9图片
UIImage* img=[UIImage imageNamed:@"name.png"];//原图 UIEdgeInsets edge=UIEdgeInsetsMake(, , ...
- ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)
下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整 ...
- ios学习-控制按钮图片的走动和变换
一.项目要求:制作一个界面,通过点击按钮来控制头像(按钮)向上,向下,向左,向右移动,可以左旋转,右旋转,以及放大和缩小. 二.开发步骤: 1.通过拖动按钮到storyboard搭建UI界面(后面会写 ...
- iOS 学习 - 13.微信分享链接、QQ 分享图片
准备工作---原文来自这个 首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里 如果你是 ...
- ios 学习 广告图片轮播器
// // ViewController.m // 图片轮播器 // // Created by zjj on 15/5/23. // Copyright (c) 2015年 zjj. All rig ...
随机推荐
- entityframework
entityframework扩展: http://entityframework-plus.net/
- C++11中自定义range
python中的range功能非常好用 for i in range(100): print(i) 现在利用C++11的基于范围的for循环特性实现C++中的range功能 class range { ...
- JS学习:第一周——NO.3面向对象
[面向对象基础知识] 封装:对于功能相同的代码,我们只需封装一次,以后再遇到类似的功能,只需调用即可,无需重写,避免大量冗余代码. 对象的特征:方法和属性: 面向对象的特点: 封装:低耦合高内聚: 继 ...
- BOM 浏览器对象模型
总结自JavaSript高级编程
- Lodash.js的库
1.orderBy _order(数组,排序对象,["asc"]升序或者["desc"]降序)
- Struts开发包结构
- 数独 JAVA实现
数独游戏的规则从很久之前就知道,但是一直都没怎么玩过,然后到了大学,大一下学期自己学dfs的时候,刚刚好碰到了一个数独的题目,做出来后,感觉还是挺有成就感的 然后大二学了JAVA,看了下那个一些有关于 ...
- [PHP][REDIS]phpredis 'RedisException' with message 'read error on connection'
最近一个后台常驻job通过redis的brpop阻塞读取消息时,设置了永不超时 while( $re=$redis->brPop($queue_name,0) ){ } 但是在实际的使用中发现很 ...
- 完整mybatis应用
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-/ ...
- Python3.5之TuShare
这部分是直接搬运过来的,官方网站http://tushare.waditu.com/ TuShare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据 ...