首先应该了解气泡图片被如何分解
再根据这个设置
这是气泡部分,文字部分我们可以在气泡上放一个label实现
func addLabel(body:NSString){ let font = UIFont.boldSystemFontOfSize(20)//设置字体 let width = 225 let height = 10000.0//计算后label的最高度 let atts = [NSFontAttributeName: font]//如果不设置这个属性,之前设置的font就不会生效,字体还是默认字体 let size = body.boundingRectWithSize(CGSizeMake(CGFloat(width), CGFloat(height)), options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: atts, context: nil) let label = UILabel(frame: CGRectMake(0,200,CGFloat(size.size.width) / 2,CGFloat(size.size.height))) label.numberOfLines = 0 //设置是否截断,1表示超过上面设置的label宽度的字符将被截断,0表示不截断 label.lineBreakMode = NSLineBreakMode.ByClipping//表示截断模式 label.text = body as String label.font = font label.backgroundColor = UIColor.lightGrayColor() self.view.addSubview(label) }