QQ聊天气泡(图片拉伸不变样)、内容尺寸定制(高度随字数、字体而变)
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
/**
QQ聊天 气泡的实现
*/
self.QQBubble = [UIButton buttonWithType:UIButtonTypeCustom];
self.QQBubble.backgroundColor = [UIColor blueColor];
// self.QQBubble.titleLabel.backgroundColor = [UIColor purpleColor];
NSString *string = @"《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间";
[_QQBubble setTitle:string forState:UIControlStateNormal];
[_QQBubble setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
_QQBubble.titleLabel.numberOfLines =0;
_QQBubble.titleLabel.font = MyFont;
/**
*
* -----内容尺寸(高度)根据 字的数量、字体多少决定----- 按钮尺寸需要比内容尺寸宽20边界
*
*/
CGSize textSize = [string boundingRectWithSize:CGSizeMake(150, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:MyFont} context:nil].size;
CGSize textBtnSize = CGSizeMake(textSize.width + Padding*2, textSize.height +Padding*2);
self.QQBubble.contentEdgeInsets = UIEdgeInsetsMake(Padding, Padding, Padding, Padding);
self.QQBubble.frame = CGRectMake(50, 100, textBtnSize.width, textBtnSize.height);
/**
* -----拉伸图片 (防止边框走样)------
*/
UIImage *normal = [UIImage imageNamed:@"yellowfish.png"];
CGFloat w = normal.size.width * 0.5;
CGFloat h = normal.size.height * 0.5;
UIImage *lastImage = [normal resizableImageWithCapInsets:UIEdgeInsetsMake(h-1, w-1, h, w)];
[self.QQBubble setBackgroundImage:lastImage forState:UIControlStateNormal];
[self.view addSubview:self.QQBubble];
}
QQ聊天气泡(图片拉伸不变样)、内容尺寸定制(高度随字数、字体而变)的更多相关文章
- winform实现QQ聊天气泡200行代码
		
c# winform实现QQ聊天气泡界面,原理非常简单,通过webKitBrowser(第三方浏览器控件,因为自带的兼容性差)加载html代码实现,聊天界面是一个纯HTML的代码,与QQ的聊天界面可以 ...
 - SpannableString 转换局部字体大小,但在EditText测量之前设置内容,测量高度为,字体变小之前的高度
		
public void setHint(@NonNull String hint, @Nullable CharSequence subHint) { this.hint = hint; if (su ...
 - 【HTML5】实现QQ聊天气泡效果
		
今天自己用 HTML/CSS 做了个类似QQ的聊天气泡,以下是效果图: 以下说下关键地方的样式设置.然后贴出html和css代码(不多). 步骤1:布局 消息採用div+float布局,每条消息用一个 ...
 - C#绘制三角形并填充,使用winform实现qq聊天气泡
		
首先是需求,需要制作一个聊天气泡, 但是winform中有没有类似Android的.9图,只有自己设计图形拼接气泡. 第一种是绘制空心三角形,第二种是绘制三角形区域,可以指定RGB颜色. privat ...
 - JAVA实现QQ聊天气泡
		
最近做了聊天气泡功能,为自己的聊天室美化了一下聊天效果: 先来看一下效果: 主要的思路是:以一个JTextPane作为显示的面板,然后自定义一个组件JBubble气泡组件来实现他的聊天气泡,然后通过J ...
 - css实现微信信息背景qq聊天气泡
		
用css实现一个椭圆形状的背景框很好实现 css: div{ width:200px; height:80px; background-color: #78DDF8; border-radius:10 ...
 - 【原】iOS学习之图片拉伸处理(类似qq的气泡)
		
原理是拉伸里面的内容,将边保护起来 方法1: ①[image resizableImageWithCapInsets:UIEdgeInsetsMake(, , , )]; ②[image resiza ...
 - 关于MAC下的QQ聊天中看不到对方所发的图片解决
		
使用QQ聊天我们会经常碰到一件让人烦心的事情,那就是别人发的截图自己看不大,是一张裂图(腾讯默认的那张图片).通常有几种情况可以造成这种结果: 第一种原因,网络延迟原因,你的网络不好或者对方的网络不好 ...
 - reactnative实现qq聊天消息气泡拖拽消失效果
		
前言(可跳过) 我在开发自己的APP时遇到了一个类似于qq聊天消息气泡拖拽消息的需求,因为在网上没有找到相关的组件,所以自己动手实现了一下 需求:对聊天消息气泡拖拽到一定长度松开时该气泡会消失(可自行 ...
 
随机推荐
- BZOJ 1067 & Interval_Tree
			
1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3099 Solved: 800 Description 我们常常 ...
 - JAVA_RSA密钥生成
			
在网上找了下RSA的密钥的创建,结果全是用java序列化PublicKey和PrivateKey来保存,就自己写了个RSA公钥和私钥的创建,及进行Base64编码后保存. 这里用到了 bcprov-j ...
 - C#的async和await
			
C# 5.0中引入了async 和 await.这两个关键字可以让你更方便的写出异步代码. 看个例子: public class MyClass { public MyClass() { Displa ...
 - 省份+城市---Dropdownlist控件的应用
			
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> ...
 - HttpRuntime.Cache的使用经验
			
配置文件 <appSettings> <add key="EnableCache" value="true"/> "/ ...
 - Swift Internal Parameter and External Parameter 外部参数和内部参数
			
今天跟大神又学习了些关于IOS开发Swift语言的外部参数和内部参数 func doSomething(num1: Int, num2: Int) -> Int { return num1 + ...
 - [转] - QPixmap全局变量载入多张图片失效问题
			
我想qt 中QPixmap这个类大家都很熟悉,它可以很简单的在标签上贴图:例如: QPixmap p; p.load("1.png"): label->setPixmap(p ...
 - php的具体配置学习笔记
			
1.将php配置为apache的一个模块,使用loadmodule指令完成. 2.写下面的语句,此外需强调的是,每次配置都需要重新启动apache 3.php文件,要指定将其php模块来处理 4.PH ...
 - 使用ProxychainsMac下安装及配置
			
下面几种解决方式 一.先在VPS用composer把Laravel给拖回来,本地你就别想用Composer正常下载Laravel回来了 二.使用全局代理,暂时木有折腾过在终端下怎么折腾,GUI可以使用 ...
 - switch,break和default语句练习
			
int w = 8; switch (w){ case 0: System.out.println("今天是星期日"); break; case 1: System.out.pri ...