iOS图片实现可拉伸不变形的处理操作
在iOS的实际开发中,如果我们把一张有图片(有特别形状的,特别是类似有圆角的图片)放在UIButton中,当UIButton改变大小是,图片可能会被拉伸并且产生变形,我们可以通过-(UIImage *)resizableImageWithCapInsets:resizingMode:方法(通过UIImage对象调用该方法,并且传入要拉伸的图片的名字作为参数)实现返回一个可拉伸不变形的图片,这里我们把这个方法写到UIImage类的分类中把它封装起来,日后的iOS开发中我们可以直接拿来使用:
UIImage+Extension.h
#import <UIKit/UIKit.h> @interface UIImage (Extension) /** * 传入图片的名称,返回一张可拉伸不变形的图片 * * @param imageName 图片名称 * * @return 可拉伸图片 */ + (UIImage *)resizableImageWithName:(NSString *)imageName; @end
UIImage+Extension.m
#import "UIImage+Extension.h" @implementation UIImage (Extension) + (UIImage *)resizableImageWithName:(NSString *)imageName { // 加载原有图片 UIImage *norImage = [UIImage imageNamed:imageName]; // 获取原有图片的宽高的一半 CGFloat w = norImage.size.width * 0.5; CGFloat h = norImage.size.height * 0.5; // 生成可以拉伸指定位置的图片 UIImage *newImage = [norImage resizableImageWithCapInsets:UIEdgeInsetsMake(h, w, h, w) resizingMode:UIImageResizingModeStretch]; return newImage; } @end
以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
iOS UIImageView图片自动拉伸功能
本文实例为大家分享了iOS图片自动拉伸的具体代码,供大家参考,具体内容如下 这个是使用一个切片,使其填充到整个NavigationBar上面. - (void)viewDidLoad { [super viewDidLoad]; UIImage *smallImage = [UIImage imageNamed:@"hc_03.png"]; UIImageView *imageView = [[UIImageView alloc] initWithImage:smallImage];
-
iOS中实现图片自适应拉伸效果的方法
前言 在Android中实现图片的拉伸特别特别简单,甚至不用写一行代码,直接使用.9图片进行划线即可.但是iOS就没这么简单了,比如对于下面的一张图片(原始尺寸:200*103): 我们不做任何处理,直接将它用作按钮的背景图片: // // ViewController.m // ChatBgTest // // Created by 李峰峰 on 2017/1/23. // Copyright © 2017年 李峰峰. All rights reserved. // #import "View
-
iOS图片拉伸的4种方法
假如下面的一张图片,是用来做按钮的背景图片的,原始尺寸是(128 * 112) 按钮背景图片.png 我们通过代码将这张图片设置为按钮的背景图片,假如我们将创建好的按钮的宽高设置为:(W=200, H=50)代码如下: // // ViewController.m // iOS图片拉伸总结 // // Created by Sunshine on 15/6/29. // Copyright (c) 2015年 YotrolZ. All rights reserved. // #import "V
-
iOS应用开发中图片的拉伸问题解决方案
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑. 比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: 复制代码 代码如下: // 得到view的尺寸 CGSize viewSize = self.view.bound
-
iOS图片拉伸的多种方式
本文实例为大家分享了iOS图片拉伸的具体代码,供大家参考,具体内容如下 1. UIImageView整体拉伸 UIImageView-contentMode typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, // 默认 拉伸(会变形) UIViewContentModeScaleAspectFit, // 等比例拉伸 UIViewContentModeScaleAspectFill, //
-
iOS 解决按钮背景图片拉伸问题(推荐)
问题如图: 设置按钮的背景图片被拉伸 解决方案 - (void)awakeFromNib { [super awakeFromNib]; //让背景图片不要拉伸 UIImage *image = _loginRegisterBtn.currentBackgroundImage; image = [image stretchableImageWithLeftCapWidth:image.size.width / 2 topCapHeight:image.size.height / 2]; [_lo
-
iOS图片实现可拉伸不变形的处理操作
在iOS的实际开发中,如果我们把一张有图片(有特别形状的,特别是类似有圆角的图片)放在UIButton中,当UIButton改变大小是,图片可能会被拉伸并且产生变形,我们可以通过-(UIImage *)resizableImageWithCapInsets:resizingMode:方法(通过UIImage对象调用该方法,并且传入要拉伸的图片的名字作为参数)实现返回一个可拉伸不变形的图片,这里我们把这个方法写到UIImage类的分类中把它封装起来,日后的iOS开发中我们可以直接拿来使用: UII
-
iOS图片拉伸小技巧
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑. 比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: // 得到view的尺寸 CGSize viewSize = self.view.bounds.size; // 初
-
iOS tableview实现顶部拉伸效果
本文实例为大家分享了iOS tableview头部拉伸效果展示的具体代码,例如探探个人信息界面拉伸效果,下拉头像放大 代码: // // PersonController.m // Spread // // Created by qiuxuewei on 16/3/21. // Copyright © 2016年 邱学伟. All rights reserved. // #import "PersonController.h" @interface PersonController (
-
iOS tableView实现头部拉伸并改变导航条渐变色
本文实例为大家分享了iOS tableView实现头部拉伸改变,导航条渐变色的具体代码,供大家参考,具体内容如下 #import "TableViewController.h" static NSString *ident = @"cell"; #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a] #define RGB(r,g,b) RG
-
IOS图片无限轮播器的实现原理
首先实现思路:整个collectionView中只有2个cell.中间始终显示第二个cell. 滚动:向前滚动当前cell的脚标为0,向后滚动当前的cell脚标为2.利用当前cell的脚标减去1,得到+1,或者-1,来让图片的索引加1或者减1,实现图片的切换. 声明一个全局变量index来保存图片的索引,用来切换显示在当前cell的图片. 在滚动前先让显示的cell的脚标变为1.代码viewDidLoad中设置 完成一次滚动结束后,代码再设置当前的cell为第二个cell(本质上就是让当前显示的
-
IOS图片设置毛玻璃效果
推荐阅读:ios毛玻璃效果的实现及图片模糊效果的三种方法 废话不多说了,直接给大家贴代码了,具体代码如下所示: // 创建需要的毛玻璃特效类型 UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; // 毛玻璃view 视图 UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:blurEf
-
iOS 图片上传使用base64或者二进制流上传头像功能
我们在写代码的时候经常会将头像进行上传服务器,上传头像图片我试过两种方式 一种方式就是使用base64字符串上传图片,这种形式我个人认为比较适合上传图片数量比较少的,比如上传头像,上传图片数量多的话,速度会慢些 另一种方式是使用二进制流进行上传图片,这种方式上传图片少或者数量多都没关系,速度也很快 demo地址:http://download.csdn.net/detail/tuwanli125/9340205 demo地址: https://github.com/tuwanli/Pictur
-
iOS图片放大的方式(transform和frame)
本文实例分享了iOS图片放大的方式,具体内容如下 第一种方式: frame改变x值y值的方式放大图片,是从左上开始放大. frame改变控件宽高的方式放大图片,是从中心开始放大. 原头像大小 用frame改变宽高 第二种方式: transform方式放大图片,从中心开始放大 以上就是iOS图片放大的两种方式,希望大家可以掌握.
随机推荐
- 详解PHP中strlen和mb_strlen函数的区别
- Lua中变相实现continue跳出循环
- 跟我学Nodejs(一)--- Node.js简介及安装开发环境
- 学习javascript面向对象 javascript实现继承的方式
- Node.js设置CORS跨域请求中多域名白名单的方法
- java字符串拼接与性能分析详解
- 详解WordPress开发中用于获取分类及子页面的函数用法
- Android ScrollView使用代码示例
- php db类库进行数据库操作
- PHP判断网络文件是否存在的方法
- 用C/C++来实现 Node.js 的模块(一)
- Powershell中可以使用的.Net实用静态方法
- java分割日期时间段代码
- 利用Jquery实现几款漂亮实用的时间轴(附示例代码)
- 系统安全:Win XP SP2 配置及故障解决技巧大揭露
- SpringMVC实现通过邮件找回密码功能
- Android EdText编辑框禁止输入表情符号(使用正则表达式)
- Android编程实现大图滚动显示的方法
- vue中改变选中当前项的显示隐藏或者状态的实现方法
- layUI使用layer.open,在content打开数据表格,获取值并返回的方法