iOS中Label實(shí)現(xiàn)顯示不同顏色與字體的方法
前言
iOS中Label是我們經(jīng)常遇到的一個(gè)控件,我們大家應(yīng)該都會(huì)簡(jiǎn)單的使用它,像下面這個(gè)代碼,就能簡(jiǎn)單的創(chuàng)建一個(gè)label
// 1、創(chuàng)建 CGRectrect =CGRectMake(100,100,100,100); UILabel* label = [[UILabelalloc]initWithFrame:rect];
引言
然而我們?cè)陂_發(fā)中,經(jīng)常會(huì)遇到一行字,但是顯示不同顏色和字體的情況,話不多說,直接上代碼。
1、顯示不同顏色,有兩種方式
(1)通過 range 來設(shè)置
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"點(diǎn)擊代表您已閱讀并同意用戶規(guī)則和協(xié)議"]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:NSMakeRange(0,11)]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(11,4)]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(16,2)]; label.attributedText = str;
(2)通過文字來設(shè)置
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"點(diǎn)擊代表您已閱讀并同意用戶規(guī)則和協(xié)議"]; NSRange range1 = [[str string] rangeOfString:@"點(diǎn)擊代表您已閱讀并同意"]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:range1]; NSRange range2 = [[str string] rangeOfString:@"用戶規(guī)則"]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range2]; NSRange range3 = [[str string] rangeOfString:@"協(xié)議"]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:range3]; label.attributedText = str;
以上兩種的效果一樣,如圖:

2、顯示不同字體,也是兩種方式
(1)通過 range 來設(shè)置
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:13.0] range:NSMakeRange(0, 11)]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14.0] range:NSMakeRange(11, 4)]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:14.0] range:NSMakeRange(16, 2)]; label.attributedText = str;
(2)通過文字來設(shè)置
NSRange range1 = [[str string] rangeOfString:@"點(diǎn)擊代表您已閱讀并同意"]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:13.0] range:range1]; NSRange range2 = [[str string] rangeOfString:@"用戶規(guī)則"]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14.0] range:range2]; NSRange range3 = [[str string] rangeOfString:@"協(xié)議"]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:14.0] range:range3]; label.attributedText = str;
以上兩種方式效果圖如下:

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
iOS面試中如何優(yōu)雅回答B(yǎng)lock導(dǎo)致循環(huán)引用的問題
這篇文章主要給大家介紹了iOS面試中關(guān)于如何優(yōu)雅回答B(yǎng)lock導(dǎo)致循環(huán)引用的問題的相關(guān)資料,文中通過圖文介紹的非常相信,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03
IOS 靜態(tài)方法與動(dòng)態(tài)方法詳解
這篇文章主要介紹了IOS 靜態(tài)方法與動(dòng)態(tài)方法詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02
iOS應(yīng)用開發(fā)中StoryBoard搭建UI界面的基本使用講解
這篇文章主要介紹了iOS應(yīng)用開發(fā)中StoryBoard搭建UI界面的基本使用,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-02-02
iOS開發(fā)之運(yùn)動(dòng)事件和遠(yuǎn)程控制
在iOS中事件分為三類:觸摸事件:通過觸摸、手勢(shì)進(jìn)行觸發(fā)(例如手指點(diǎn)擊、縮放),運(yùn)動(dòng)事件:通過加速器進(jìn)行觸發(fā)(例如手機(jī)晃動(dòng)),遠(yuǎn)程控制事件:通過其他遠(yuǎn)程設(shè)備觸發(fā)(例如耳機(jī)控制按鈕)今天我們來詳細(xì)探討下運(yùn)動(dòng)事件和遠(yuǎn)程控制2016-04-04
iOS如何獲取設(shè)備型號(hào)的最新方法總結(jié)
在開發(fā)中,我們經(jīng)常需要獲取設(shè)備的型號(hào)以進(jìn)行數(shù)據(jù)統(tǒng)計(jì)或者做不同的適配。這篇文章主要給大家介紹了關(guān)于iOS如何獲取設(shè)備型號(hào)的最新方法,需要的朋友可以參考下2018-11-11
iOS開發(fā)實(shí)現(xiàn)轉(zhuǎn)盤功能
這篇文章主要為大家詳細(xì)介紹了iOS開發(fā)實(shí)現(xiàn)轉(zhuǎn)盤功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
iOS中創(chuàng)建Model的最佳實(shí)踐記錄
這篇文章主要給大家介紹了關(guān)于iOS中創(chuàng)建Model的最佳實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10

