iOS中Label實現顯示不同顏色與字體的方法
更新時間:2017年11月29日 11:40:17 作者:憶如初
這篇文章主要給大家介紹了關于在iOS中Label實現顯示不同顏色與字體的相關資料,文中分別介紹了利用range或者文字兩種實現的方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
前言
iOS中Label是我們經常遇到的一個控件,我們大家應該都會簡單的使用它,像下面這個代碼,就能簡單的創(chuàng)建一個label
// 1、創(chuàng)建 CGRectrect =CGRectMake(100,100,100,100); UILabel* label = [[UILabelalloc]initWithFrame:rect];
引言
然而我們在開發(fā)中,經常會遇到一行字,但是顯示不同顏色和字體的情況,話不多說,直接上代碼。
1、顯示不同顏色,有兩種方式
(1)通過 range 來設置
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"點擊代表您已閱讀并同意用戶規(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)通過文字來設置
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"點擊代表您已閱讀并同意用戶規(guī)則和協(xié)議"]; NSRange range1 = [[str string] rangeOfString:@"點擊代表您已閱讀并同意"]; [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 來設置
[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)通過文字來設置
NSRange range1 = [[str string] rangeOfString:@"點擊代表您已閱讀并同意"]; [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;
以上兩種方式效果圖如下:

總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
iOS面試中如何優(yōu)雅回答B(yǎng)lock導致循環(huán)引用的問題
這篇文章主要給大家介紹了iOS面試中關于如何優(yōu)雅回答B(yǎng)lock導致循環(huán)引用的問題的相關資料,文中通過圖文介紹的非常相信,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03
iOS應用開發(fā)中StoryBoard搭建UI界面的基本使用講解
這篇文章主要介紹了iOS應用開發(fā)中StoryBoard搭建UI界面的基本使用,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-02-02

