UILabel主要是一些标签文本的使用控件,教程里主要涉及到的是UILabel的普通创建及转变效果,带背景边框的label,还有圆角的设置,给UILabel增加点击时间,阴影效果,文本的排版效果(根据Label的宽度调整字体),多行文本的使用,显示HTML标签代码等等.下面是代码,可以复制到Xcode里执行.其他的相关属性,详细查看苹果开发文档
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//普通label
var label:UILabel = UILabel(frame: CGRect(x: 50, y: 50, width: 100, height: 35))
label.text = "普通Label"
label.transform = CGAffineTransformMakeRotation(0.2)
self.view.addSubview(label)
//带背景和边框的label
//Label的圆角对其背景不起作用,只对其边框起作用
var label2:UILabel = UILabel(frame: CGRect(x: 50, y: 90, width: 100, height: 35))
label2.text = "圆角Label"
label2.textColor = UIColor.whiteColor()
label2.backgroundColor = UIColor.blackColor()
label2.textAlignment = NSTextAlignment.Center
label2.layer.cornerRadius = 10
label2.layer.borderWidth = 2
label2.layer.borderColor = UIColor.redColor().CGColor
self.view.addSubview(label2)
//UILabel拥有点击事件
var label3:UILabel = UILabel(frame: CGRect(x: 50, y: 130, width: 100, height: 35))
label3.text = "我有点击事件"
label3.adjustsFontSizeToFitWidth = true //根据label的宽度,改变字体的大小
var tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "click:")
label3.userInteractionEnabled = true
label3.addGestureRecognizer(tap)
label3.shadowColor = UIColor.purpleColor() //设置shadow
label3.shadowOffset = CGSize(width: 2, height: 2)
self.view.addSubview(label3)
//让Label显示html标签
var label4:UILabel = UILabel(frame: CGRect(x: 50, y: 170, width: 300, height: 35))
let html = "this is html <a href=\"http://www.baidu.com\">link</a>"
let data = html.dataUsingEncoding(NSUTF32StringEncoding, allowLossyConversion: false)
var atext = NSAttributedString(data: data!, options: [NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType], documentAttributes: nil, error: nil)
label4.multipleTouchEnabled = true
label4.attributedText = atext
self.view.addSubview(label4)
//设置多行文本
var label5:UILabel = UILabel(frame: CGRect(x: 50, y: 210, width: 200, height: 80))
label5.backgroundColor = UIColor.purpleColor()
label5.textColor = UIColor.whiteColor()
label5.text = "在设置rootViewController之后,在这个control里的viewDidLoad方法里,添加相应的代码.设置了9个不同类型的UIButton";
label5.lineBreakMode = NSLineBreakMode.ByTruncatingTail
label5.numberOfLines = 10
label5.adjustsFontSizeToFitWidth = true
self.view.addSubview(label5)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func click(sender:AnyObject){
var tap:UITapGestureRecognizer = sender as! UITapGestureRecognizer
NSLog("this is click")
}
}
效果如下:
转载自吴统威的博客:http://www.wutongwei.com/front/infor_showone.tweb?id=89