Swift—UILabel的常見用法

聲明:以下內(nèi)容只是用來作為個人學(xué)習(xí)、熟悉swift語言開發(fā)或者今后查閱資料使用见秽,也會隨著語言的不不斷更新而不斷的進(jìn)行更新發(fā)布....

UILabel用來在界面上顯示一行或多行文本踱讨,下面就介紹常見屬性與基本用法。

1、UILabel創(chuàng)建####

//創(chuàng)建的時候設(shè)置frame
let testLable=UILabel(frame:CGRect(x:20,y:100,width:self.view.frame.size.width - 40,height:400))
        
//先創(chuàng)建铡羡,在進(jìn)行位置大小設(shè)定,和上面的作用一樣的      
let Label = UILabel()
Label.frame = CGRect(x:20,y:100,width:self.view.frame.size.width - 40,height:400)

//添加       
self.view.addSubview(Label);

2意鲸、UILabel常見屬性設(shè)置####

//顯示文本內(nèi)容
testLable.text = "nice to meet you!"

//背景顏色
testLable.backgroundColor = UIColor.green

//文字顏色
testLable.textColor = UIColor.white

//文字對齊方式
testLable.textAlignment = NSTextAlignment.left

其中文字對齊方式有以幾種:
 /* Values for NSTextAlignment */
 @available(iOS 6.0, *)
 public enum NSTextAlignment : Int {
 
 
 case left // Visually left aligned
 
 
 case center // Visually centered
 
 case right // Visually right aligned
 
 /* !TARGET_OS_IPHONE */
 // Visually right aligned
 // Visually centered
 
 case justified // Fully-justified. The last line in a paragraph is natural-aligned.
 
 case natural // Indicates the default alignment for script
 }


//陰影顏色
testLable.shadowColor = UIColor.black

//陰影偏移位置
testLable.shadowOffset = CGSize(width:-5,height:5)

//根據(jù)視圖寬度自動調(diào)整文字大小
testLable.adjustsFontSizeToFitWidth = true

//高亮?xí)r候的文字顏色
testLable.highlightedTextColor = UIColor.cyan
        
//設(shè)置圓角
testLable.layer.cornerRadius = 20
testLable.layer.masksToBounds = true

//邊框的寬度和顏色
testLable.layer.borderColor = UIColor.green.cgColor
testLable.layer.borderWidth = 2
     
//文字類型/大小   
testLable.font = UIFont.boldSystemFont(ofSize: 20) //加粗類型
testLable.font = UIFont.systemFont(ofSize: 20)//文字大小
testLable.font = UIFont.italicSystemFont(ofSize: 20)//斜體類型

//大小和文字一起設(shè)置
testLable.font = UIFont(name:"您好",size:50)

//顯示樣式
testLable.lineBreakMode = NSLineBreakMode.byCharWrapping

// NSParagraphStyle
@available(iOS 6.0, *)
public enum NSLineBreakMode : Int {

case byWordWrapping // Wrap at word boundaries, default

case byCharWrapping // Wrap at character boundaries

case byClipping // Simply clip

case byTruncatingHead // Truncate at head of line: "...wxyz"

case byTruncatingTail // Truncate at tail of line: "abcd..."

case byTruncatingMiddle // Truncate middle of line:  "ab...yz"
}

//多行顯示
label.numberOfLines = 2//最多顯示2行
label.numberOfLines = 0// 默認(rèn)沒有行數(shù)顯示
label.numberOfLines = 1//只能顯示一行

3烦周、富文本設(shè)置####

//創(chuàng)建對象
let attributeString = NSMutableAttributedString(string:"Welcome to Swift! Welcome to Swift! Welcome to Swift! Welcome to Swift!")
//設(shè)置字體大小/字體類型
attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue-Bold", size: 16)!, range: NSMakeRange(0, 6))
//設(shè)置背景顏色           
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.red, range: NSMakeRange(0, 3))          
//設(shè)置文檔背景色     attributeString.addAttribute(NSBackgroundColorDocumentAttribute, value: UIColor.lightGray, range: NSMakeRange(10, 10))
//設(shè)置下劃線
attributeString.addAttribute(NSUnderlineStyleAttributeName, value:NSUnderlineStyle.StyleSingle.rawValue, range: NSMakeRange(5,12))
        
testLable.attributedText = attributeString;

4、文本高度計算####

關(guān)于lable顯示文本的高度計算也是老生常談怎顾,下面就簡單的舉個例子以extension為例:

extension NSString {
    func textSizeWithFont(font: UIFont, constrainedToSize size:CGSize) -> CGSize {
        var textSize:CGSize!
        if CGSizeEqualToSize(size, CGSizeZero) {
            let attributes = NSDictionary(object: font, forKey: NSFontAttributeName)
            textSize = self.sizeWithAttributes(attributes)
        } else {
            let option = NSStringDrawingOptions.UsesLineFragmentOrigin
            let attributes = NSDictionary(object: font, forKey: NSFontAttributeName)
            let stringRect = self.boundingRectWithSize(size, options: option, attributes: attributes, context: nil)
            textSize = stringRect.size
        }
        return textSize
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末读慎,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子槐雾,更是在濱河造成了極大的恐慌夭委,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件募强,死亡現(xiàn)場離奇詭異株灸,居然都是意外死亡崇摄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門慌烧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逐抑,“玉大人,你說我怎么就攤上這事屹蚊〔薨保” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵汹粤,是天一觀的道長命斧。 經(jīng)常有香客問我,道長嘱兼,這世上最難降的妖魔是什么国葬? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮遭京,結(jié)果婚禮上胃惜,老公的妹妹穿的比我還像新娘。我一直安慰自己哪雕,他們只是感情好船殉,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著斯嚎,像睡著了一般利虫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上堡僻,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天糠惫,我揣著相機(jī)與錄音,去河邊找鬼钉疫。 笑死硼讽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的牲阁。 我是一名探鬼主播固阁,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼城菊!你這毒婦竟也來了备燃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤凌唬,失蹤者是張志新(化名)和其女友劉穎并齐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡况褪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年撕贞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窝剖。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡麻掸,死狀恐怖酥夭,靈堂內(nèi)的尸體忽然破棺而出赐纱,到底是詐尸還是另有隱情,我是刑警寧澤熬北,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布疙描,位于F島的核電站,受9級特大地震影響讶隐,放射性物質(zhì)發(fā)生泄漏起胰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一巫延、第九天 我趴在偏房一處隱蔽的房頂上張望效五。 院中可真熱鬧,春花似錦炉峰、人聲如沸畏妖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戒劫。三九已至,卻和暖如春婆廊,著一層夾襖步出監(jiān)牢的瞬間迅细,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工淘邻, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留茵典,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓宾舅,卻偏偏與公主長得像统阿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子贴浙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫砂吞、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,059評論 4 62
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理崎溃,服務(wù)發(fā)現(xiàn)蜻直,斷路器,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 短暫的相聚,你我共度朝夕概而, 云梯呼巷、河堤,留下我們串串足跡赎瑰, 長江王悍、牌坊,偷聽我們絲絲密語餐曼, 在溫柔的夜里压储,我愿長睡...
    南有喬木殷其雷閱讀 214評論 1 0
  • 想必大家在如今這個伴隨著經(jīng)濟(jì)、科技快速發(fā)展的社會中源譬,也會發(fā)現(xiàn)一種現(xiàn)象的存在愈演愈烈集惋。這種現(xiàn)象就是大齡剩女似乎越來越...
    大漠郡主閱讀 700評論 0 1
  • 最近刮刑,一個男子寫的2015理財總結(jié)火遍了朋友圈。他自稱為朕养渴,還封股票為皇后雷绢,嚇尿了自己的老婆。 小編終于從朋友圈挖...
    有理有財閱讀 412評論 0 1