UIView和UILabel常用屬性和常用方法總結(jié)
設(shè)置UILabel、UITextView的文字行間距
//MARK: - UIView的常用屬性和常用方法總結(jié)
/*
1呈队,UIView常用的一些屬性如下:
frame:相對父視圖的坐標(biāo)和大薪(x,y,w,h)
bounds:相對自身的坐標(biāo)和大小妻枕,所以bounds的x和y永遠(yuǎn)為0(0,0,w,h)
center:相對父視圖的中點(diǎn)坐標(biāo)
transform:控制視圖的放大縮小和旋轉(zhuǎn)
superview:獲取父視圖
subviews:獲取所有子視圖
alpha:視圖的透明度(0.0-1.0)
tag:視圖的標(biāo)志(Int類型焦辅,默認(rèn)等于0)杭棵,設(shè)置后婚惫,可以通過viewWithTag方法拿到這個(gè)視圖
2,UIView的常用方法如下:
func removeFromSuperview():將視圖從父視圖中移除
func insertSubview(view:UIView, atIndex index:Int):指定一個(gè)位置插入一個(gè)視圖魂爪,index越小先舷,視圖越往下
func exchangeSubviewAtIndex(index1:Int, withSubviewAtIndex index2:Int):將index1和index2位置的兩個(gè)視圖互換位置
func addSubview(view:UIView):添加視圖到父視圖
func insertSubview(view:UIView,belowSubview siblingSubview:UIView):在指定視圖的下面插入視圖
func insertSubview(view:UIVIew,aboveSubview siblingSubview:UIView):在指定視圖上面插入視圖
func bringSubviewToFront(view:UIView):把視圖移到最頂層
func sendSubviewToBack(view:UIView):把視圖移到最底層
func viewWithTag(tag:Int)->UIView?:根據(jù)tag值獲取視圖
*/
var page = UIView()
//隨機(jī)色
page.backgroundColor = UIColor.init(red:CGFloat(arc4random()%256)/255.0, green:CGFloat(arc4random()%256)/255.0, blue: CGFloat(arc4random()%256)/255.0, alpha: 1.0)
//1,使用UIColor的內(nèi)置顏色設(shè)置背景色
page.backgroundColor = UIColor.green
//2滓侍,設(shè)置自定義顏色
page.backgroundColor = UIColor(red: 0x37/255, green: 0xba/255, blue: 0x46/255, alpha: 1)
//3蒋川,設(shè)置背景圖片(如果圖片太小,會自動平鋪)
page.backgroundColor = UIColor(patternImage: UIImage(named:"QQ.png")!)
//清空所有子視圖
func clearViews() {
for v in self.view.subviews as [UIView]{
v.removeFromSuperview()
}
}
//MARK: - UILabel 標(biāo)簽的創(chuàng)建
//1,設(shè)置標(biāo)簽x坐標(biāo):10撩笆,y坐標(biāo):20捺球,長:300,寬:100
let label = UILabel.init(frame: CGRect.init(x: 10, y: 20, width: 300, height: 100))
label.text="haha"
self.view.addSubview(label);
//2夕冲,背景顏色和文字顏色的設(shè)置
label.textColor=UIColor.white//白色文字
label.backgroundColor=UIColor.black //黑色背景
//3氮兵,對齊方式的設(shè)置
label.textAlignment=NSTextAlignment.right //文字右對齊
//4,文字陰影的設(shè)置
label.shadowColor=UIColor.gray//灰色陰影
label.shadowOffset=CGSize.init(width: -5, height: 5)//陰影的偏移量
//5歹鱼,字體的設(shè)置
label.font = UIFont(name:"Zapfino", size:20)
//6泣栈,文字過長時(shí)的省略方式
label.lineBreakMode=NSLineBreakMode.byTruncatingTail//隱藏尾部并顯示省略號
label.lineBreakMode=NSLineBreakMode.byTruncatingMiddle//隱藏中間部分并顯示省略號
label.lineBreakMode=NSLineBreakMode.byTruncatingHead? //隱藏頭部并顯示省略號
label.lineBreakMode=NSLineBreakMode.byClipping//截去多余部分也不顯示省略號
//7,文字大小自適應(yīng)標(biāo)簽寬度
label.adjustsFontSizeToFitWidth=true //當(dāng)文字超出標(biāo)簽寬度時(shí)弥姻,自動調(diào)整文字大小南片,使其不被截?cái)?/p>
//8,使標(biāo)簽可以顯示多行文字
label.numberOfLines=2//顯示兩行文字(默認(rèn)只顯示一行庭敦,設(shè)為0表示沒有行數(shù)限制)
//9疼进,設(shè)置文本高亮
//設(shè)置文本高亮
label.isHighlighted = true
//設(shè)置文本高亮顏色
label.highlightedTextColor = UIColor.green
//10,富文本設(shè)置
let attributeString = NSMutableAttributedString(string:"hai long shi ge hao xue sheng")
//從文本0開始6個(gè)字符字體HelveticaNeue-Bold,16號
attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue-Bold", size: 16)!,range: NSMakeRange(0,6))
//設(shè)置字體顏色
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blue,range: NSMakeRange(0, 3))
//設(shè)置文字背景顏色
attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.green,range: NSMakeRange(3,3))
label.attributedText = attributeString
//MARK: - 設(shè)置UILabel螺捐、UITextView的文字行間距
//有時(shí)我們需要調(diào)整 label 或 textView 的文本行間距大小颠悬,但這兩個(gè)組件都沒有相關(guān)屬性可以直接設(shè)置矮燎。這個(gè)就需要借助富文本(NSAttributedString)來實(shí)現(xiàn)。
let hanlabel = UILabel(frame:CGRect(x:0, y:20, width:414, height:400))
hanlabel.numberOfLines = 0//設(shè)置允許換行
//要顯示的文字
let str = "提升領(lǐng)導(dǎo)能力的第一個(gè)“力”赔癌,就是眼力诞外。就是要求領(lǐng)導(dǎo)者能高瞻遠(yuǎn)矚,不僅要能做好本職工作灾票,還要有遠(yuǎn)見卓識峡谊,了解行業(yè)趨勢,了解競爭對手刊苍。同時(shí)還要知道怎么做既们,要善于制定具體計(jì)劃和遠(yuǎn)景規(guī)劃,此外正什,還要有創(chuàng)新精神啥纸。迅速思考和作出判斷的能力、縝密的思維婴氮,以及勇氣和魄力"
//通過富文本來設(shè)置行間距
let paraph = NSMutableParagraphStyle()
//將行間距設(shè)置為28
paraph.lineSpacing = 28
//樣式屬性集合
let attributes = [NSFontAttributeName:UIFont.systemFont(ofSize: 15),NSParagraphStyleAttributeName: paraph]
hanlabel.attributedText = NSAttributedString(string: str, attributes: attributes)
self.view.addSubview(hanlabel)