Swift - UILable背景图层圆角,Lable大小随文字自适应

        // 1.创建Lable
        var lbl:UILabel? = UILabel()
        lbl!.text = app!.name! + "正在下载……"
        lbl!.textAlignment = NSTextAlignment.Center;
        lbl!.textColor = UIColor.whiteColor()
        lbl!.font = UIFont.systemFontOfSize(13)

        

        // 2.通过Lable的文字获取自适应区域
        var rect:CGRect = lbl!.text!.boundingRectWithSize(CGSize(width: 260.0 ,height: 10000.0), options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName:lbl!.font], context: nil)
       
        // 3.设置Label的frame
        var marginBottom:CGFloat = 100

        // 3.1.根据刚才的所获取到自适应宽高加上适当值来设置lable的宽高
        var width:CGFloat = rect.width + 48
        var height:CGFloat = rect.height + 12
        var x = (self.superview!.frame.width - width) / 2
        var y = self.superview!.frame.height - marginBottom
        lbl!.frame = CGRect(x: x, y: y, width: width, height: height)

        

        // 4设置lable背景圆角
        // 4.1.设置圆角图层背景颜色
        lbl!.layer.backgroundColor = UIColor.blackColor().CGColor

        // 4.2.设置圆角值 
        lbl!.layer.cornerRadius = 5

//该处应该用lbl.clip^方法。切掉超出layer的的区域

     lbl!clipsToBounds = true
self.superview?.addSubview(lbl!) // 5.实现动画移除控件 UIView .animateWithDuration(5, animations: { () -> Void in lbl!.alpha = 0.7 lbl!.alpha = 0 }) { (Bool) -> Void in lbl!.removeFromSuperview() lbl = nil }

 

posted @ 2015-03-09 21:19  星星Star😋  阅读(2349)  评论(0)    收藏  举报