点9 for ios

Android的.9处理在ios中怎么做


新知识,图片如何拉伸, 就是Android .9
原理:这里同Android不同在于,这里是求出对应的一个范围,在这个范围内拉伸,这个范围就是UIEdgeInsets
方法如下:

 		UIImage *normal = [UIImage imageNamed:@"chat_send_nor"];
        //处理图片,就是处理.9
        CGFloat w = normal.size.width * 0.5;
        CGFloat h = normal.size.height * 0.5;
        UIImage *lastNormal = [normal resizableImageWithCapInsets:UIEdgeInsetsMake(h, w, h, w)];
        [self.textView setBackgroundImage:lastNormal forState:UIControlStateNormal];


IOS的.9图片
思想:在JAVA中,我们通常把一个工具类写成util这种类,但是在JAVA中不赞成这么写,而是写一个分类

创建分类的步骤:
1、新建一个分类:new Object_c file,选择Category
2、取名:根据公司取名,以后统一前面加上Extension+xx  , eg:ExtensionUIImage
3、选择需要分的类型
4、写出自己的需要的方法,能写成类方法就写成类方法,否则写成对象方法,类方法则不用alloc和init,这样使用更方便
如下案例:
声明:
#import <UIKit/UIKit.h>

@interface UIImage (ExtensionUIImage)

/**
 *  根据图片名称算出.9图片:这里是在图片中点拉伸复制
 *
 *  @param name 图片名
 *
 *  @return UIImage
 */
+ (UIImage *)resizableImage:(NSString *)name;

@end

实现:
#import "UIImage+ExtensionUIImage.h"

@implementation UIImage (ExtensionUIImage)

+ (UIImage *)resizableImage:(NSString *)name
{
    UIImage *normal = [UIImage imageNamed:name];
    CGFloat w = normal.size.width * 0.5;
    CGFloat h = normal.size.height * 0.5;
    return [normal resizableImageWithCapInsets:UIEdgeInsetsMake(h, w, h, w)];
}

@end

分类的使用
iOS分类的理解就是这个类本身就拥有了你分类的方法,直接调用,因为分类分的就是我们想的类,因为我们只要直接使用这个类就可以,重点
是导入这个分类
#import "UIImage+ExtensionUIImage.h"
使用过程跟平时使用方法一样
[self.textView setBackgroundImage:[UIImage resizableImage:@"chat_send_nor"] forState:UIControlStateNormal]; 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值