iOS Swift之Label詳解學(xué)習(xí)

這些天一直在忙私事,嘿嘿,今天先提交一個,其中18和19調(diào)整label高度的明天測試過后再補上,現(xiàn)在的是OC版本的

// 1、創(chuàng)建

letrect:CGRect=CGRectMake(100,100,100,100)

letlabel:UILabel=UILabel(frame:rect)

// 2、設(shè)置和讀取文本內(nèi)容,默認為nil

label.text="文本信息"

// 3、設(shè)置文字顏色,默認為黑色

label.textColor=UIColor.redColor()

// 4、font設(shè)置文字大小,默認為17

label.font=UIFont.systemFontOfSize(20)//一般方法

label.font=UIFont.boldSystemFontOfSize(20)//加粗方法

label.font=UIFont.init(name:"Arial", size:20)//指定字體的方法

//label.font = [UIFont fontWithName:@"" size:16]; //指定字體的方法

// 5、textAlignment設(shè)置標簽文本對齊方式

label.textAlignment=NSTextAlignment.Center

/**其他的對齊方式

NSTextAlignmentLeft= 0,// Visually left aligned

NSTextAlignmentCenter= 1,// Visually centered

NSTextAlignmentRight= 2,// Visually right aligned

NSTextAlignmentRight= 1,// Visually right aligned

NSTextAlignmentCenter= 2,// Visually centered

NSTextAlignmentJustified = 3,// Fully-justified. The last line in a paragraph is natural-aligned.

NSTextAlignmentNatural= 4,// Indicates the default alignment for script

*/

// 6、numberOfLines標簽最多顯示行數(shù),如果為0則表示多行

label.numberOfLines=2

// 7、enabled只是決定了Label的繪制方式,將它設(shè)置為NO時文本變暗,表示沒有激活,這是向她設(shè)置顏色值都是無效的。

label.enabled=false

// 8、highlighted是否高亮顯示

label.highlighted=true;

label.highlightedTextColor=UIColor.orangeColor()//高亮顯示時候的文本顏色

// 9、ShadowColor設(shè)置陰影顏色

label.shadowColor=UIColor.blackColor()

// 10、ShadowOffset設(shè)置陰影偏移量

label.shadowOffset=CGSizeMake(-1, -1)

// 11、baselineAdjustment如果==YES,控制文本基線的行為

label.baselineAdjustment=UIBaselineAdjustment.None;

/*

UIBaselineAdjustmentAlignBaselines = 0, // default. used when shrinking text to position based on the original baseline默認,文本最上端與中線對齊。

UIBaselineAdjustmentAlignCenters, //文本中線與label中線對齊。

UIBaselineAdjustmentNone, //文本最低端與label中線對齊。

*/

// 12、Autoshrink是否自動收縮

/*

Fixed Font Size默認,如果label寬度小于文字長度時,文字大小不自動縮放

minimumScaleFactor設(shè)置最小收縮比例,如果Label寬度小于文字長度時,文字進行收縮,收縮超過比例后,停止收縮。

minimumFontSize設(shè)置最小收縮字號,如果label寬度小于文字長度時,文字字號減小,低于設(shè)定字號以后,不再減小。// 6.0以后不再使用了。

*/

label.minimumScaleFactor=0.5

// 13、adjustsLetterSpacingToFitWidth改變字母之間的間距來適應(yīng)Label大小

//label.adjustsLetterSpacingToFitWidth = YES;// NS_DEPRECATED_IOS(6_0,7_0) __TVOS_PROHIBITED

// Non-functional.Hand tune by using NSKernAttributeName to affect tracking, or consider using the allowsDefaultTighteningForTruncation property.

// 14、lineBreakMode設(shè)置文字過長時的顯示格式

label.lineBreakMode=NSLineBreakMode.ByCharWrapping//以字符為顯示單位顯示,后面部分省略不顯示

label.lineBreakMode=NSLineBreakMode.ByClipping//剪切與文本寬度相同的內(nèi)容長度,后半部分被刪除。

label.lineBreakMode=NSLineBreakMode.ByTruncatingHead//前面部分文字以……方式省略,顯示尾部文字內(nèi)容。

label.lineBreakMode=NSLineBreakMode.ByTruncatingMiddle//中間的內(nèi)容以……方式省略,顯示頭尾的文字內(nèi)容。

label.lineBreakMode=NSLineBreakMode.ByTruncatingTail//結(jié)尾部分的內(nèi)容以……方式省略,顯示頭的文字內(nèi)容。

label.lineBreakMode=NSLineBreakMode.ByWordWrapping//以單詞為顯示單位顯示,后面部分省略不顯示。

// 15、adjustsFontSizeToFitWidth設(shè)置字體大小適應(yīng)label寬度

label.adjustsFontSizeToFitWidth=true

// 16、attributedText設(shè)置標簽屬性文本

lettext:NSString="doubiqiu"

lettextLabelStr:NSMutableAttributedString=NSMutableAttributedString.init(string: textasString)

letbodyFont = [NSFontAttributeName:UIFont.preferredFontForTextStyle(UIFontTextStyleBody)]

textLabelStr.setAttributes(bodyFont, range:NSMakeRange(2,5))

label.attributedText= textLabelStr

// 17、豎排文字顯示每個文字加一個換行符,這是最方便和簡單的實現(xiàn)方式。

label.text="這\n個\n是\n豎\n排\n方\n向\n的\n顯\n示"

label.numberOfLines=0

// 18、計算UILabel隨字體多行后的高度

letbounds:CGRect=CGRectMake(0,0,200,300);

letheightLabel:CGRect= label.textRectForBounds(bounds, limitedToNumberOfLines:3)//計算20行之后的Label的Frame

print("%f",heightLabel.size.height)

// 19、UILabel根據(jù)字數(shù)多少自動實現(xiàn)適應(yīng)高度

letmsgLabel:UILabel=UILabel.init(frame:CGRectMake(15,170,0,0))

msgLabel.backgroundColor=UIColor.lightTextColor()

msgLabel.numberOfLines=0

msgLabel.lineBreakMode=NSLineBreakMode.ByWordWrapping

msgLabel.font=UIFont.init(name:"Arial", size:12)

letsize:CGSize=CGSizeMake(290,1000)

msgLabel.text="獲取到的deviceToken,我們可以通過webservice服務(wù)提交給.net應(yīng)用程序,這里我簡單處理,直接打印出來,拷貝到.net應(yīng)用環(huán)境中使用。"

//CGSize msgSize = [msgLabel.text sizeWithFont:msgLabel.font constrainedToSize:size];

//msgLabel.frame = CGRectMake(15, 150, 290, msgSize.height)

//[msgLabel setFrame:CGRectMake(15, 150, 290, msgSize.height)];

// 20、漸變字體Label

//let img:UIImage = UIImage.init(named: "btn.png")!

//let titleColor:UIColor = UIColor.init(patternImage: img)

lettitleColor:UIColor=UIColor.init(patternImage:UIImage.init(named:"btn.png")!)

lettitle:NSString="Setting"

lettitleLabel:UILabel=UILabel.init(frame:CGRectMake(100,200,80,44))

titleLabel.textColor= titleColor

titleLabel.text= titleasString

titleLabel.font=UIFont.boldSystemFontOfSize(20)

titleLabel.backgroundColor=UIColor.clearColor()

self.view.addSubview(titleLabel)

// 21、Label添加邊框

titleLabel.layer.borderColor=UIColor.grayColor().CGColor

titleLabel.layer.borderWidth=2

// 22、設(shè)置圓角

titleLabel.layer.cornerRadius=10

titleLabel.backgroundColor=UIColor.cyanColor()

// 23、設(shè)置背景色圓角

titleLabel.clipsToBounds=true

self.view.addSubview(label)

self.view.addSubview(msgLabel)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容