Swift - 文本标签(UILabel)的用法
(本文代码已升级至Swift3)
1,标签的创建
2,背景颜色和文字颜色的设置
3,对齐方式的设置
4,文字阴影的设置
5,字体的设置
6,文字过长时的省略方式
7,文字大小自适应标签宽度
8,使标签可以显示多行文字
9,设置文本高亮
10,富文本设置
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //设置标签x坐标:10,y坐标:20,长:300,宽:100 let label = UILabel(frame:CGRect(x:10, y:20, width:300, height:100)) label.text = "hangge.com" self.view.addSubview(label); } }
label.textColor = UIColor.white //白色文字 label.backgroundColor = UIColor.black //黑色背景
label.textAlignment = .right//文字右对齐
label.shadowColor = UIColor.gray //灰色阴影 label.shadowOffset = CGSize(width:1.5, height:1.5) //阴影的偏移量
label.font = UIFont(name:"Zapfino", size:20)
label.lineBreakMode = .byTruncatingTail //隐藏尾部并显示省略号 label.lineBreakMode = .byTruncatingMiddle //隐藏中间部分并显示省略号 label.lineBreakMode = .byTruncatingHead //隐藏头部并显示省略号 label.lineBreakMode = .byClipping //截去多余部分也不显示省略号
label.adjustsFontSizeToFitWidth = true //当文字超出标签宽度时,自动调整文字大小,使其不被截断
label.numberOfLines = 2 //显示两行文字(默认只显示一行,设为0表示没有行数限制)
9,设置文本高亮
//设置文本高亮 label.isHighlighted = true //设置文本高亮颜色 label.highlightedTextColor = UIColor.green
10,富文本设置
//富文本设置 let attributeString = NSMutableAttributedString(string:"welcome to hangge.com") //从文本0开始6个字符字体HelveticaNeue-Bold,16号 attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue-Bold", size: 16)!, range: NSMakeRange(0,6)) //设置字体颜色 attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blue, range: NSMakeRange(0, 3)) //设置文字背景颜色 attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.green, range: NSMakeRange(3,3)) label.attributedText = attributeString
航哥,为什么UILabel.attributedText赋一个值NSMutableAttributedString,NSMutableAttributedString里面包含了unicode表情,显示出来UILabel里面就有乱码;
但是直接UILabel.text赋同样的NSMutableAttributedString就不会显示乱码啊?
项目现在需要用富文本的,不然用多个UILabel来拼就很麻烦,这个怎么解决啊?
用什么方法能定位Label 当中的特定文字呢 ,点击到的那块
富文本设置设置中,能不能给 指定的 文字加上 点击手势啊
如何设置点击监听呢?
var label=UILabel(frame:CGRectMake(10,20, 300, 100))
label.text="hangge.com"
self.view.addSubview(label);
我就按照你的这样写 为什么会报 Variable 'label' was never mutated; consider changing to 'let' constant 的⚠️?
@航哥,接上次fade in and out的问题。
我使用以下代码实现了淡入动画效果
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(1.0)
image.alpha = 1
image.image = UIImage(named: "arrow")
UIView.commitAnimations()
但我在上面代码后面,接如下代码的时候,为什么结果只有淡出效果,淡入动画效果无效了
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(1.0)
image.alpha = 0
image.image = UIImage(named: "arrow")
UIView.commitAnimations()
航哥,Label里的Text,怎么实现Fade in and out,渐隐渐现。