zoukankan      html  css  js  c++  java
  • iOS聊天起泡(背景图片被拉伸不变形)----转载--待验证

    方法一

    - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

    这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数

    @param leftCapWidth: 左边不拉伸区域的宽度,
    @param topCapHeight: 上面不拉伸的高度。

    根据设置的宽度和高度,将接下来的一个像素进行左右扩展和上下拉伸。

    注意:可拉伸的范围都是距离leftCapWidth后的1竖排像素,和距离topCapHeight后的1横排像素。

    参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。

    注意:只是对一个像素进行复制到一定宽度。而图像后面的剩余像素也不会被拉伸。

    方法二

    在iOS6.0中,UIImage又提供了一个方法处理图片拉伸(适用区域拉伸),如下 :

    - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingModeNS_AVAILABLE_IOS(6_0);// the interior is resized according to the resizingMode

    UIImageResizingMode参数,用来指定拉伸的模式:

    UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
    UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片

    代码如下:

    UIImageView *m_imageView = [[UIImageViewalloc]initWithFrame:CGRectMake(0,0, 240,110)];
    //[m_imageView setImage:[[UIImage imageNamed:@"2.png"] stretchableImageWithLeftCapWidth:40 topCapHeight:10]];
    [m_imageView setImage:[[UIImageimageNamed:@"1.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(30,30, 30,30)]];
    [m_imageView setImage:[[UIImageimageNamed:@"1.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(30,30, 30,30) resizingMode:UIImageResizingModeStretch]];
    [self.view addSubview:m_imageView];
    学习时的痛苦是暂时的 未学到的痛苦是终生的
  • 相关阅读:
    SAP MM模块教程(1)— 概述
    CodeSmith Generator
    EasyUI 左侧 tree 右侧 DataGrid模板
    C# 数据库访问公共类
    Easyui datagrid toolbar 模板
    EasyUI combogrid 更新查询参数 queryParams 重新加载
    Jenkins的搭建与使用
    Idea2020激活,全网最新教程(各版本通用),亲测2089!!!
    阿里云盘开启“个人云种子用户报名
    尚硅谷Java互联网大厂面试题第三季,1024干货
  • 原文地址:https://www.cnblogs.com/grimm/p/14314925.html
Copyright © 2011-2022 走看看