iOS Swift之Label詳解學習

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

// 1、創建

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

letlabel:UILabel=UILabel(frame:rect)

// 2、設置和讀取文本內容,默認為nil

label.text="文本信息"

// 3、設置文字顏色,默認為黑色

label.textColor=UIColor.redColor()

// 4、font設置文字大小,默認為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設置標簽文本對齊方式

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標簽最多顯示行數,如果為0則表示多行

label.numberOfLines=2

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

label.enabled=false

// 8、highlighted是否高亮顯示

label.highlighted=true;

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

// 9、ShadowColor設置陰影顏色

label.shadowColor=UIColor.blackColor()

// 10、ShadowOffset設置陰影偏移量

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設置最小收縮比例,如果Label寬度小于文字長度時,文字進行收縮,收縮超過比例后,停止收縮。

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

*/

label.minimumScaleFactor=0.5

// 13、adjustsLetterSpacingToFitWidth改變字母之間的間距來適應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設置文字過長時的顯示格式

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

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

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

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

label.lineBreakMode=NSLineBreakMode.ByTruncatingTail//結尾部分的內容以……方式省略,顯示頭的文字內容。

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

// 15、adjustsFontSizeToFitWidth設置字體大小適應label寬度

label.adjustsFontSizeToFitWidth=true

// 16、attributedText設置標簽屬性文本

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、豎排文字顯示每個文字加一個換行符,這是最方便和簡單的實現方式。

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根據字數多少自動實現適應高度

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服務提交給.net應用程序,這里我簡單處理,直接打印出來,拷貝到.net應用環境中使用。"

//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、設置圓角

titleLabel.layer.cornerRadius=10

titleLabel.backgroundColor=UIColor.cyanColor()

// 23、設置背景色圓角

titleLabel.clipsToBounds=true

self.view.addSubview(label)

self.view.addSubview(msgLabel)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容