美文网首页
背景图片的拉伸

背景图片的拉伸

作者: eryuxinling | 来源:发表于2016-07-30 15:33 被阅读27次
        // 1.1 创建UIImage对象
        UIImage *image = [UIImage imageNamed:@"buttongreen"];
        
        // 1.2 拿到image的尺寸
        CGFloat imageWidth = image.size.width;
        CGFloat imageHeight = image.size.height;
        
        // 1.3 返回一张受保护而且拉伸的图片--->CapInsets:哪些地方要保护
        // 方式一:
        (1)UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageHeight * 0.5, imageWidth * 0.5, imageHeight * 0.5 - 1, imageWidth * 0.5 - 1)];
         /*
         UIImageResizingModeTile,  平铺
         UIImageResizingModeStretch,  拉伸(伸缩)
         */
        (2)UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageHeight * 0.5, imageWidth * 0.5, imageHeight * 0.5 - 1, imageWidth * 0.5 - 1) resizingMode:UIImageResizingModeTile];
    
        // 方式二:
           // 右边需要被保护的区域 = 图片的width - leftCapWidth - 1
           // 底部需要被保护的区域(bottom cap) = height - topCapHeight - 1
        UIImage *resizableImage = [image stretchableImageWithLeftCapWidth:imageWidth * 0.5 topCapHeight:imageHeight * 0.5];
    
        // 2.把图片设置到按钮上
        [self.button setBackgroundImage:resizableImage forState:UIControlStateNormal];
    
    由于可能在项目中很多地方要用到图片拉伸方法,所以把它定义成为一个类扩展
    #import <UIKit/UIKit.h>
    @interface UIImage (SJMExtention)
    /**
     *  返回一张受保护的图片(被拉伸的)
     */
    + (instancetype)resizableImageWithLocalImageName:(NSString *)localImageName;
    @end
    
    #import "UIImage+SJMExtention.h"
    @implementation UIImage (SJMExtention)
    
    + (instancetype)resizableImageWithLocalImageName:(NSString *)localImageName {
        // 创建图片对象
        UIImage *image = [UIImage imageNamed:localImageName];
        
        // 获取图片的尺寸
        CGFloat imageWidth = image.size.width;
        CGFloat imageHeight = image.size.height;
        
        return [image stretchableImageWithLeftCapWidth:imageWidth * 0.5 topCapHeight:imageHeight * 0.5];
    }
    @end
    

    不用代码设置: 选中图片,选择水平和垂直拉伸,修改受保护的区域(宽/2, 高/2)

    相关文章

      网友评论

          本文标题:背景图片的拉伸

          本文链接:https://www.haomeiwen.com/subject/mcktsttx.html