YYLabel使用筆記骨杂,以及部分踩過的坑

本文僅記載筆者對 YYLabel相關(guān)功能的使用和踩過的一些小坑天通。

    1. 基本使用
    1. 使用過程遇到的小問題


1.1 簡單加色修改部分字體克滴,加事件等基本使用
NSString *operateStr = @"在你使用****前逼争,請你務(wù)必審慎閱讀、充分理解《用戶協(xié)議》和《隱私政策》各條款劝赔。\n\n如你同意誓焦,請點(diǎn)擊“我知道了”開始接受我們的服務(wù)。";
NSMutableAttributedString *text = [[NSMutableAttributedString
                                        alloc]
                                       initWithString:operateStr];
    text.yy_font = TEXT_FONT(16);
    text.yy_color = HEXCOLOR(0x333333);
    NSRange canTouchRange = [operateStr rangeOfString:@"《用戶協(xié)議》"];
    

    [text yy_setTextHighlightRange:canTouchRange
                             color:AppBlueColor
                   backgroundColor:[UIColor whiteColor]
                         tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
                             // 點(diǎn)擊了第一處
                         }];
    
NSRange bCanTouchRange = [operateStr rangeOfString:@"《隱私政策》"];
[text yy_setTextHighlightRange:bCanTouchRange
                                 color:AppBlueColor
                       backgroundColor:[UIColor whiteColor]
                             tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
                                 // 點(diǎn)擊了第二處
                             }];

CGSize introSize = CGSizeMake(xxxxL.frame.size.width, CGFLOAT_MAX);
YYTextLayout *layout = [YYTextLayout layoutWithContainerSize:introSize text:text];
// 必須重新賦一次着帽,否則賦完attributed內(nèi)容會重置對齊方式為默認(rèn)
self.messageL.textAlignment = NSTextAlignmentCenter;
1.2 一段文字尾部追加“全文”“展開”“收起”“詳情”“更多”之類“按鈕”
xxxxL.truncationToken = self.truncationToken;


- (NSAttributedString *)truncationToken{
    if (!_truncationToken) {
        NSMutableAttributedString *endStr = [[NSMutableAttributedString alloc] initWithString:@"...  全文"];
        YYTextHighlight *yyh = [YYTextHighlight new];
        [yyh setColor:[UIColor greenColor]];//這個是按下的顏色
        
        @weakify(self)
        yyh.tapAction = ^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
            @strongify(self)
            NSLog( @"需要展開啦T游啊!仍翰!");
        };
        
        NSRange range = [endStr.string rangeOfString:@"全文"];
        [endStr yy_setColor:HEXCOLOR(0x448bf2) range:range];
        [endStr yy_setTextHighlight:yyh range:range];
        endStr.yy_font = [UIFont systemFontOfSize:16];
        
        YYLabel *seeMore = [YYLabel new];
        seeMore.attributedText = endStr;
        [seeMore sizeToFit];
        
        self.truncationToken = [NSAttributedString yy_attachmentStringWithContent:seeMore contentMode:UIViewContentModeCenter attachmentSize:seeMore.frame.size alignToFont:endStr.yy_font alignment:(YYTextVerticalAlignmentCenter)];
    }
    return _truncationToken;
}


YYLabel雖然叫l(wèi)abel赫粥,然而卻是繼承至UIView,這就導(dǎo)致有些和UILabel同名的屬性不見得完全一樣的意義歉备。而我又有個命名習(xí)慣(nameL)傅是,label統(tǒng)一后綴L,后續(xù)就真把他當(dāng)做了‘label’??。
此時就textAlignment屬性就有區(qū)別了喧笔,創(chuàng)建YYLabel對象時設(shè)置為 NSTextAlignmentCenter 帽驯,而顯示時候卻還是left。如以下場景:


設(shè)計樣式
代碼執(zhí)行結(jié)果

查找半天無果书闸,最后發(fā)現(xiàn) 在給label賦textLayout或attributedText之后需要重新賦一次對齊方式:

xxxxL.attributedText = text;
// xxxxL.textLayout = layout;
xxxxL.textAlignment = NSTextAlignmentCenter;

另外尼变,numbeOfLines屬性也有次情況,例如根據(jù)不同情況對行數(shù)進(jìn)行不同限制也要如此操作:

xxxxL.attributedText = text;
// xxxxL.textLayout = layout;
xxxxL.numberOfLines = 5;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浆劲,一起剝皮案震驚了整個濱河市嫌术,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牌借,老刑警劉巖度气,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異膨报,居然都是意外死亡磷籍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門现柠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來院领,“玉大人,你說我怎么就攤上這事够吩”热唬” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵周循,是天一觀的道長强法。 經(jīng)常有香客問我,道長鱼鼓,這世上最難降的妖魔是什么拟烫? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮迄本,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘课竣。我一直安慰自己嘉赎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布于樟。 她就那樣靜靜地躺著公条,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迂曲。 梳的紋絲不亂的頭發(fā)上靶橱,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼关霸。 笑死传黄,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的队寇。 我是一名探鬼主播膘掰,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼佳遣!你這毒婦竟也來了识埋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤零渐,失蹤者是張志新(化名)和其女友劉穎窒舟,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诵盼,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惠豺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拦耐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耕腾。...
    茶點(diǎn)故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖杀糯,靈堂內(nèi)的尸體忽然破棺而出扫俺,到底是詐尸還是另有隱情,我是刑警寧澤固翰,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布狼纬,位于F島的核電站,受9級特大地震影響骂际,放射性物質(zhì)發(fā)生泄漏疗琉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一歉铝、第九天 我趴在偏房一處隱蔽的房頂上張望盈简。 院中可真熱鬧,春花似錦太示、人聲如沸柠贤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽臼勉。三九已至,卻和暖如春餐弱,著一層夾襖步出監(jiān)牢的瞬間宴霸,已是汗流浹背囱晴。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瓢谢,地道東北人畸写。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像恩闻,于是被迫代替她去往敵國和親艺糜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評論 2 348

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