以前一直对类似聊天气泡背景图片拉伸的设置纠结,不管如何设置UIEdgeInsets属性都不能正常设置,今天对以下几种情况进行了总结,如有需要的同学可进行参考:

说明:

/**

1、UIEdgeInsets中的值都可以以像素为单位进行设置

2、测量凸起部分距离图片边缘值时,若有存在圆角部分,计算时最好将圆角部分出去,如: - (void)addDialogueLeft;方法中左侧凸起部分为12像素,图片额外含圆角部分8像素,则UIEdgeInsets中left和right值>= (12+8)计算

**/

/**

*添加左侧凸起背景图片

*/

leftDialogue

- (void)addDialogueLeft

{

UIImageView *bgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(30, dialogueCount * (kDialogueSpace + kDialogueViewHeight), 315, kDialogueViewHeight)];

UIImage *image = [UIImage imageNamed:@"dialogueLeft"];

/*该图片尺寸为354*97

**1、凸起部分右侧距离图片左侧边缘大概为20(包括圆角部分宽度),因此UIEdgeInsets中left和right值>= 20即可.(此值若不合适继续调大)

**2、不涉及上下距离,整体高度为97,因此UIEdgeInsets中top和bottom值<= 48即可.(此值若不合适继续调小)

*/

UIEdgeInsets insets = UIEdgeInsetsMake(45, 20, 45, 20);

UIImage *insetImage = [image resizableImageWithCapInsets:insets];

bgImageView.image = insetImage;

[self.view addSubview:bgImageView];

dialogueCount++;

}

/**

*添加右侧凸起背景图片

*/

rightDialogue

- (void)addDialogueRight

{

UIImageView*bgImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(30,dialogueCount* (kDialogueSpace+kDialogueViewHeight),315,kDialogueViewHeight)];

UIImage*image = [UIImageimageNamed:@"dialogueRight"];

/*该图片尺寸为354*97

**1、凸起部分左侧距离图片右侧边缘大概为20(包括圆角部分宽度),因此UIEdgeInsets中left和right值>= 20即可.(此值若不合适继续调大)

**2、不涉及上下距离,整体高度为97,因此UIEdgeInsets中top和bottom值<= 48即可.(此值若不合适继续调小)

*/

UIEdgeInsetsinsets =UIEdgeInsetsMake(45,20,45,20);

UIImage*insetImage = [imageresizableImageWithCapInsets:insets];

bgImageView.image= insetImage;

[self.viewaddSubview:bgImageView];

}

/**

*添加左上角凸起背景图片

*/

topLeftDialogue

- (void)addDialogueTopLeft

{

UIImageView*bgImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(30,dialogueCount* (kDialogueSpace+kDialogueViewHeight),315,kDialogueViewHeight)];

UIImage*image = [UIImageimageNamed:@"dialogueTopLeft"];

/*该图片尺寸为343*106

**1、凸起部分右侧距离图片左侧边缘大概为27,因此UIEdgeInsets中left和right值>= 27即可.(此值若不合适继续调大)

**2、凸起部分底部图片高度(除去凸起高度)大概为98,因此UIEdgeInsets中top和bottom值<= 49即可.(此值若不合适继续调小)

*/

UIEdgeInsetsinsets =UIEdgeInsetsMake(40,27,40,27);

UIImage*insetImage = [imageresizableImageWithCapInsets:insets];

bgImageView.image= insetImage;

[self.viewaddSubview:bgImageView];

}

/**

*添加左下角凸起背景图片

*/

bottomLeftDialogue

- (void)addDialogueBottomLeft

{

UIImageView*bgImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(30,dialogueCount* (kDialogueSpace+kDialogueViewHeight),315,kDialogueViewHeight)];

UIImage*image = [UIImageimageNamed:@"dialogueBottomLeft"];

/*该图片尺寸为343*106

**1、凸起部分右侧距离图片左侧边缘大概为23,因此UIEdgeInsets中left和right值>= 23即可.(此值若不合适继续调大)

**2、凸起部分底部图片高度(除去凸起高度)大概为97,因此UIEdgeInsets中top和bottom值<= 48即可.(此值若不合适继续调小)

*/

UIEdgeInsetsinsets =UIEdgeInsetsMake(40,23,40,23);

UIImage*insetImage = [imageresizableImageWithCapInsets:insets];

bgImageView.image= insetImage;

[self.viewaddSubview:bgImageView];

}

/**

*添加右上角凸起背景图片

*/

topRightDialogue

- (void)addDialogueTopRight

{

UIImageView*bgImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(30,dialogueCount* (kDialogueSpace+kDialogueViewHeight),315,kDialogueViewHeight)];

UIImage*image = [UIImageimageNamed:@"dialogueTopRight"];

/*该图片尺寸为343*106

**1、凸起部分左侧距离图片右侧边缘大概为22,因此UIEdgeInsets中left和right值>= 22即可.(此值若不合适继续调大)

**2、凸起部分底部图片高度(除去凸起高度)大概为98,因此UIEdgeInsets中top和bottom值<= 49即可.(此值若不合适继续调小)

*/

UIEdgeInsetsinsets =UIEdgeInsetsMake(40,22,40,22);

UIImage*insetImage = [imageresizableImageWithCapInsets:insets];

bgImageView.image= insetImage;

[self.viewaddSubview:bgImageView];

}

/**

*添加右下角凸起背景图片

*/

bottomRightDialogue

- (void)addDialogueBottomRight

{

UIImageView*bgImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(30,dialogueCount* (kDialogueSpace+kDialogueViewHeight),315,kDialogueViewHeight)];

UIImage*image = [UIImageimageNamed:@"dialogueBottomRight"];

/*该图片尺寸为343*106

**1、凸起部分左侧距离图片右侧边缘大概为54,因此UIEdgeInsets中left和right值>= 54即可.(此值若不合适继续调大)

**2、凸起部分底部图片高度(除去凸起高度)大概为96,因此UIEdgeInsets中top和bottom值<= 48即可.(此值若不合适继续调小)

*/

UIEdgeInsetsinsets =UIEdgeInsetsMake(45,54,45,54);

UIImage*insetImage = [imageresizableImageWithCapInsets:insets];

bgImageView.image= insetImage;

[self.viewaddSubview:bgImageView];

}

android 聊天气泡背景图片,聊天气泡背景图片拉伸设置相关推荐

  1. android .9png聊天气泡,Android 关于点9图在气泡评论里使用的调研

    需求是这样的 气泡 1. 点9图简单介绍 Android为了使用同一张图作为大小区域背景,设计了一种可以指定区域拉伸的图片格式".9.png",这种图片格式就是点九图.Androi ...

  2. Android高仿iOS Messages聊天气泡

    Android高仿iOS Messages聊天气泡 一.目标 二.功能分析 三.实现代码 1. ChatItem 2. DateItem 3. TextItem 4. PhotoItem 5. Cha ...

  3. android handcent短信 仿iphone气泡聊天

    废话不说直接上图 mian.xml 代码如下 <?xml version="1.0" encoding="utf-8"?> <LinearLa ...

  4. qml 背景透明 图片显示正常_聊天背景半透明唯美壁纸图片

    聊天背景半透明唯美壁纸图片 有时候你需要一个人呆着.不是寂寞,而是享受只做自己的自由时光. 女人最大的弱点是母性.她可能因同情而去关怀弱小,又因为付出而产生感情.她不是不知道对方配不上她,当亲友劝阻时 ...

  5. css3实现气泡效果的聊天框

    因为css3尚未形成标准,所以现行的浏览器对于css3支持不太一致,某些特性需要加上浏览器前缀 css属性的浏览器前缀 前缀 渲染引擎 使用该引擎的浏览器 -khtml- KHTML Konquero ...

  6. 实现气泡效果的聊天框

    1.css3中通过border-radius实现圆角效果 .radius{     -webkit-border-radius:10px;     -moz-border-radius:10px;   ...

  7. html气泡聊天样式,css3的聊天气泡样式

    这次给大家带来css3的聊天气泡样式,做出css3的聊天气泡样式的注意事项有哪些,下面就是实战案例,一起来看一下. 在聊天的场景中,聊天内容需要用到气泡修饰,如下图.下面一一讲解. 图片式: 第一个样 ...

  8. Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解...

    2019独角兽企业重金招聘Python工程师标准>>> 今天继续给大家分享下View的相关知识,重点有一下两点:   1.View的几种不同状态属性            2.如何根 ...

  9. qt 气泡聊天界面_微信聊天气泡框素材

    1.简介 由于最近的项目需要,做了些相关IM的工作.所以聊天框也是必不可少的一部分.聊天框的制作分很多种,本文以QListWidget+QPainter绘制的Item做了一个Demo.该Demo只是做 ...

  10. openfire android 发送图片,基于openfire+smack开发Android即时聊天应用[四]-单人聊天、群聊、发送接收文件等...

    这篇文章主要介绍如何实现点对点单人聊天.多人的群聊.以及如何给对方发送文件,如何发送图片消息和语音消息等功能. 1.单人聊天 1.首先创建聊天对象 /** * 创建聊天窗口 * @param jid ...

最新文章

  1. 《强化学习周刊》第7期:强化学习应用之游戏
  2. TortoiseSVN SendRpt.exe not found解决方案
  3. [Manifest]关于sharedUserIdsharedUserLabel
  4. 小工匠聊架构文章一览【不间断持续更新】
  5. 爬虫模拟登陆手机验证码_爬虫入门到精通-headers的详细讲解(模拟登录知乎)...
  6. Redis系统管理相关指令简介
  7. node vue 合并项目_吐血整理最佳实践:SpringBoot整合Vue前后端分离开发
  8. Win10技巧:如何确定电脑是否适用Hyper-V虚拟机?
  9. linux 扫描开放的端口命令,如何在 Linux 中检查(扫描)开放端口
  10. Windows 2008系统关闭端口
  11. 【转】告诉你外语学习的真实方法及误区分析(精编版)-part 3
  12. java实现界面化,java实现图形化界面
  13. 基于SSH框架的电影订票系统网站的设计与实现
  14. Android开发 点滴
  15. 内网通过映射后的公网IP访问内网服务测试--ASA842 hairpin NAT测试
  16. ip后面带端口号如何做域名解析
  17. python生成器能用while吗_Python:在while循环中使用生成器
  18. SNS2124(OEM博科FC交换机)忘记密码,密码初始化
  19. H5实现复制淘口令功能
  20. DNA排序算法--图文

热门文章

  1. 《MLB美职棒大联盟》:世界大赛最有价值球员奖
  2. 被“中年危机”榨干的年轻人:如何尽早实现财务自由?
  3. 透过微信浏览器看开源问题
  4. P和NP以及NPC、NP-Hard问题
  5. 管出来的老公嘴服,疼出来的老公心服
  6. Android sqlite数据库的使用(增删改查)
  7. CSS3实现径向渐变
  8. E-PUCK机器人-软件
  9. 免费顶级域名.OVH注册申请全过程附成功注册小技
  10. Ubuntu中shell命令-(4)-echo/tar/which/whereis/ps/kill/top/df/du