iOS实现类似微信聊天气泡
1. 说明
要实现类似微信聊天气泡功能,主要有以下几个主要技术点需要实现:
- 背景图图拉伸后不变形
- UILabel自适应宽度和高度
2. 背景图图拉伸后不变形
要实现背景图拉升不变形,就要设置只让指定部位拉升,如果是在Android中,需要专门做.9图来设置只让指定部位拉升,而iOS提供的方法就简单得多,只需要设置几个值就可以。
UIEdgeInsets insets = UIEdgeInsetsMake(28, 10, 5, 5); // 上、左、下、右
UIImage *image = [UIImage imageNamed:@"bg_speech_bubble_response"];
image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
[self.bgImage setImage:image];
我们只要让其做到不拉伸小三角、不拉伸圆角边就可以,这样无论怎么拉伸都不会影响图片的形状。
3. UILabel自适应宽度和高度
要实现宽度和高度自适应内容也很简单,只需要简单设置即可:
_label.lineBreakMode = NSLineBreakByWordWrapping;
_label.numberOfLines = 0;
_label.preferredMaxLayoutWidth = ScreenWidth;
- lineBreakMode 设置可以多行显示
- numberOfLines 这个用来指定行数,如果为0则不限定行数
- preferredMaxLayoutWidth 到达指定宽度后开始换行
4. 总结
感觉实现聊天气泡最主要是这两个技术点,其它的应该不是什么问题,如果大家觉得还有什么技术点不太明确,可以在评论中留言,后续可以在博客中添加技术补充项~
iOS实现类似微信聊天气泡相关推荐
- UIImageView 显示不规则图片,类似微信聊天气泡图片展示效果
微信聊天气泡,图片充满显示,效果: -(void)layoutSubviews { [super layoutSubviews]; CAShapeLayer * _maskLayer = [CASha ...
- 微信视频气泡 android,变变微信聊天气泡
变变微信聊天气泡是一款非常好用的气泡美化软件,让你的聊天框看起来更加个性化,不需要ROOT即可完成气泡设计,更具趣味性,喜欢的小伙们快来下载试试吧! 软件详情 让气泡在你的指尖跳跃吧! 变变聊天气泡( ...
- IOS高访微信聊天对话界面(sizeWithFont:constrainedToSize和stretchableImageWithLeftCapWidth的使用)
大家好,百忙之中,抽出点空,写个微博,话说好久没写. 最近项目中有碰到写类似微信聊天界面上的效果,特整理了一下,写了一个小的Demo,希望给没头绪的同学们一个参考! Demo下载地址:http://d ...
- android 图片气泡,关于实现微信聊天气泡里显示图片解决方案
关于实现微信聊天气泡里显示图片 这是微信的效果,气泡中的图片没有边距 这是我的效果,背景气泡是用.9.png图片组成的一个selector,气泡中的图片有边距 如何才能像微信那样没有边矩呢? --- ...
- iOS开发-类似微信录音上滑取消功能
iOS开发-类似微信录音上滑取消功能 前言 效果 代码 先自定义UIButton 使用 监听上下滑动代码 前言 在社交媒体中开发中遇到需要做类似微信录音上滑取消功能,例子,虽然不是很好看,但是细节满满 ...
- Android气泡弹幕,Android弹幕实现:基于B站弹幕开源系统(7)QQ、微信聊天气泡样式的弹幕...
Android弹幕实现:基于B站弹幕开源系统(7)QQ.微信聊天气泡样式的弹幕 在附录文章得基础上,改进普通文本弹幕,实现一种特殊效果的文本弹幕,像QQ.微信一样的带有气泡背景的弹幕.实现的重点是在S ...
- HTML5实现微信聊天气泡效果
最近做一个HybridApp,前端有一个群聊的功能,于是就想模仿微信的聊天界面,先看效果图: HTML代码: <!DOCTYPE html> <html lang="en& ...
- HTML怎么做类似QQ聊天气泡,h5实现QQ聊天气泡的实例介绍
这篇文章主要介绍了HTML5实现QQ聊天气泡效果,用 HTML/CSS 做了个类似QQ的聊天气泡,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 今天自己用 HTML/CSS 做了个类似QQ的聊天气 ...
- 类似微信聊天 日期算法(转换)
微信聊天日期转换 * IOS 时间 有bug需要兼容: '2022-12-12' ==> '2022/12/12' * 每周的第一天是 周天~ /**获取当月第几周 */ ...
最新文章
- Java 线程的 wait 和 notify 的神坑
- Shell脚本基本命令3
- 计算机启动时运行ccleaner,Ccleaner的使用方法
- 手机知识:NFC是什么,有什么用?看完你就明白了!
- linux下安装jdk_mysql_tomcat_redis
- cass坡度土方计算案例_【九天教您南方cass 9.1】 12 道路断面土方计算
- informix sybase数据库下载地址
- 黑莓 7290 快捷键
- 实用干货秘籍!最经典的10个Pandas数据查询案例,收藏!
- 联想服务器修改ip地址,联想 lenove 3750 M4服务器更改启动项和管理口IP
- 联想笔记本电脑重装系统按F几
- 依图科技从科创板“退赛”:三年半累计亏损72亿,研发费用高企
- win10换win7系统步骤操作详解分享
- 阿里巴巴矢量图标库使用步骤
- ap设置 维盟660g_WayOS|路由器WAN口数设置详细教程
- java 序列化版本号_序列化版本号serialVersionUID的作用
- 各个击破!高效解决游戏开发8大痛点
- 要知道宇宙有多少星球,比数清地球上的沙子数量还要困难!
- word文档转化html 工具mammoth
- idea 打包报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (defau