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

本文介绍了一种在iOS应用中使用气泡图片作为背景,并在其上放置UILabel显示文本的方法。通过调整UILabel的字体大小、行数及断行模式等属性,实现了自适应文本长度的功能。

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

再根据这个设置

这是气泡部分,文字部分我们可以在气泡上放一个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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值