YYText使用篇(六)

版本記錄

版本號 時間
V1.0 2017.06.08

前言

YYText是一個專門處理文字的框架,有了它處理文字變得非常方便紫新,這一篇我繼續(xù)介紹YYText的使用方法罐盔,希望對大家能有所幫助。大家如感興趣還可以參考:
1.YYText使用篇(一)
2.YYText使用篇(二)
3.YYText使用篇(三)
4.YYText使用篇(四)
5.YYText使用篇(五)

一却特、YYText示例

下面看這個示例

#import "YYTextTagExample.h"
#import "YYText.h"
#import "UIView+YYAdd.h"
#import "YYTextExampleHelper.h"

@interface YYTextTagExample () <YYTextViewDelegate>
@property (nonatomic, assign) YYTextView *textView;
@end

@implementation YYTextTagExample

#pragma mark - Override Base Function

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor whiteColor];
    if ([self respondsToSelector:@selector(setAutomaticallyAdjustsScrollViewInsets:)]) {
        self.automaticallyAdjustsScrollViewInsets = NO;
    }
    
    NSMutableAttributedString *text = [NSMutableAttributedString new];
    NSArray *tags = @[@"?red", @"?orange", @"?yellow", @"?green", @"?blue", @"?purple", @"?gray"];
    NSArray *tagStrokeColors = @[
        UIColorHex(fa3f39),
        UIColorHex(f48f25),
        UIColorHex(f1c02c),
        UIColorHex(54bc2e),
        UIColorHex(29a9ee),
        UIColorHex(c171d8),
        UIColorHex(818e91)
    ];
    NSArray *tagFillColors = @[
        UIColorHex(fb6560),
        UIColorHex(f6a550),
        UIColorHex(f3cc56),
        UIColorHex(76c957),
        UIColorHex(53baf1),
        UIColorHex(cd8ddf),
        UIColorHex(a4a4a7)
    ];

    UIFont *font = [UIFont boldSystemFontOfSize:16];
    
    for (int i = 0; i < tags.count; i++) {
        NSString *tag = tags[i];
        UIColor *tagStrokeColor = tagStrokeColors[i];
        UIColor *tagFillColor = tagFillColors[i];
        NSMutableAttributedString *tagText = [[NSMutableAttributedString alloc] initWithString:tag];
        [tagText yy_insertString:@"   " atIndex:0];
        [tagText yy_appendString:@"   "];
        tagText.yy_font = font;
        tagText.yy_color = [UIColor whiteColor];
        [tagText yy_setTextBinding:[YYTextBinding bindingWithDeleteConfirm:NO] range:tagText.yy_rangeOfAll];
        
        YYTextBorder *border = [YYTextBorder new];
        border.strokeWidth = 1.5;
        border.strokeColor = tagStrokeColor;
        border.fillColor = tagFillColor;
        border.cornerRadius = 100; // a huge value
        
        /* Line join styles. */
//        typedef CF_ENUM(int32_t, CGLineJoin) {
//            kCGLineJoinMiter,
//            kCGLineJoinRound,
//            kCGLineJoinBevel
//        };
        border.lineJoin = kCGLineJoinBevel; //線的鏈接方式
        border.insets = UIEdgeInsetsMake(-2, -5.5, -2, -8);
        [tagText yy_setTextBackgroundBorder:border range:[tagText.string rangeOfString:tag]];
        
        [text appendAttributedString:tagText];
    }
    text.yy_lineSpacing = 10;
    text.yy_lineBreakMode = NSLineBreakByWordWrapping;
    
    [text yy_appendString:@"\n"];
    [text appendAttributedString:text]; // repeat for test
    
    YYTextView *textView = [YYTextView new];
    textView.attributedText = text;
    textView.size = self.view.size;
    textView.textContainerInset = UIEdgeInsetsMake(10 + 64, 10, 10, 10);
    textView.allowsCopyAttributedString = YES;
    textView.allowsPasteAttributedString = YES;
    textView.delegate = self;
    if (kiOS7Later) {
        textView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;
    } else {
        textView.height -= 64;
    }
    textView.scrollIndicatorInsets = textView.contentInset;
    textView.selectedRange = NSMakeRange(text.length, 0);
    [self.view addSubview:textView];
    self.textView = textView;
    
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [textView becomeFirstResponder];
    });
}


#pragma mark - Action && Notification

- (void)edit:(UIBarButtonItem *)item
{
    if (_textView.isFirstResponder) {
        [_textView resignFirstResponder];
    } else {
        [_textView becomeFirstResponder];
    }
}

#pragma mark - YYTextViewDelegate

- (void)textViewDidBeginEditing:(YYTextView *)textView
{
    UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                                                              target:self
                                                              action:@selector(edit:)];
    self.navigationItem.rightBarButtonItem = buttonItem;
}

- (void)textViewDidEndEditing:(YYTextView *)textView
{
    self.navigationItem.rightBarButtonItem = nil;
}

@end


二扶供、YYText示例結(jié)果

根據(jù)上面的代碼,我們給出效果示意圖裂明。

YYText示例結(jié)果1
YYText示例結(jié)果2

后記

未完椿浓,待續(xù)~~~~

一棵樹
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扳碍,更是在濱河造成了極大的恐慌提岔,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笋敞,死亡現(xiàn)場離奇詭異碱蒙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)夯巷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門赛惩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人趁餐,你說我怎么就攤上這事喷兼。” “怎么了澎怒?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵褒搔,是天一觀的道長。 經(jīng)常有香客問我喷面,道長星瘾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任惧辈,我火速辦了婚禮琳状,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盒齿。我一直安慰自己念逞,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布边翁。 她就那樣靜靜地躺著翎承,像睡著了一般。 火紅的嫁衣襯著肌膚如雪符匾。 梳的紋絲不亂的頭發(fā)上叨咖,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音啊胶,去河邊找鬼甸各。 笑死,一個胖子當(dāng)著我的面吹牛焰坪,可吹牛的內(nèi)容都是我干的趣倾。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼某饰,長吁一口氣:“原來是場噩夢啊……” “哼儒恋!你這毒婦竟也來了善绎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤诫尽,失蹤者是張志新(化名)和其女友劉穎涂邀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箱锐,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年劳较,在試婚紗的時候發(fā)現(xiàn)自己被綠了驹止。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡观蜗,死狀恐怖臊恋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情墓捻,我是刑警寧澤抖仅,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站砖第,受9級特大地震影響撤卢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梧兼,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一放吩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧羽杰,春花似錦渡紫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至颜骤,卻和暖如春唧喉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背复哆。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工欣喧, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梯找。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓唆阿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锈锤。 傳聞我的和親對象是個殘疾皇子驯鳖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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

  • 版本記錄 前言 YYText是一個專門處理文字的框架闲询,有了它處理文字變得非常方便,這一篇我繼續(xù)介紹YYText的使...
    刀客傳奇閱讀 2,767評論 0 2
  • 版本記錄 前言 YYText是一個專門處理文字的框架浅辙,有了它處理文字變得非常方便扭弧,這一篇我繼續(xù)介紹YYText的使...
    刀客傳奇閱讀 1,797評論 9 4
  • 版本記錄 前言 YYText是一個專門處理文字的框架,有了它處理文字變得非常方便记舆,這一篇我繼續(xù)介紹YYText的使...
    刀客傳奇閱讀 1,981評論 0 1
  • 版本記錄 前言 YYText是一個專門處理文字的框架鸽捻,有了它處理文字變得非常方便,這一篇我繼續(xù)介紹YYText的使...
    刀客傳奇閱讀 1,991評論 0 2
  • 版本記錄 前言 YYText是一個專門處理文字的框架泽腮,有了它處理文字變得非常方便御蒲,這一篇我繼續(xù)介紹YYText的使...
    刀客傳奇閱讀 1,632評論 0 0