[Swift]iOS开发之气泡对话框的实现

首先应该了解气泡图片被如何分解

再根据这个设置

这是气泡部分,文字部分我们可以在气泡上放一个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)
    }
原文地址:https://www.cnblogs.com/ybw123321/p/5301153.html