image.png
操作
先github下載<YYText>文件導(dǎo)入,
代碼如下:
#import "ViewController.h"
#import "YYLabel.h"
#import "NSAttributedString+YYText.h"
#import <UIKit/UIKit.h>
@interface ViewController ()
@property (nonatomic,strong) YYLabel *label;; @end
@implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
NSMutableAttributedString *text = [NSMutableAttributedString new];
UIFont *font = [UIFont systemFontOfSize:16]; // 添加文本
NSString *title = @"dwwdqwddqdqdqdqwdqdqwdqwdqdqdqdqwdqwdqdqdqwdqdqwdqdqdqdqdqdqwdq當(dāng)前的群無多群無多群無多群無多群無多群多群無多群無多群無多群無多群多群多群多群當(dāng)前的群無多群多群無多群多群多群多群多群多群多群多群的權(quán)威的權(quán)威的期望多無群多群無多群多群多群多群無多群無多群無多群無多群無多群無多群多群無多群無多群多群無多群多群無多無多無群多多群無多群多群多群多群無多群多無赖临!";
[text appendAttributedString:[[NSAttributedString alloc] initWithString:title attributes:nil]];
text.yy_font = font ;
_label = [YYLabel new];
_label.userInteractionEnabled = YES;
_label.numberOfLines = 0;
_label.textVerticalAlignment = YYTextVerticalAlignmentTop;
_label.frame = CGRectMake(40,60, self.view.frame.size.width-80,150);
_label.attributedText = text;
[self.view addSubview:_label];
_label.layer.borderWidth = 0.5;
_label.layer.borderColor = [UIColor colorWithRed:0.000 green:0.463 blue:1.000 alpha:1.000].CGColor; // 添加全文
[self addSeeMoreButton];
}
#pragma mark - 添加全文
- (void)addSeeMoreButton {
__weak __typeof(self) weakSelf = self;
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:@"...全文"];
YYTextHighlight *hi = [YYTextHighlight new];
[hi setColor:[UIColor colorWithRed:0.578 green:0.790 blue:1.000 alpha:1.000]];
hi.tapAction = ^(UIView *containerView,NSAttributedString *text,NSRange range, CGRect rect) { // 點(diǎn)擊全文回調(diào) YYLabel *label = weakSelf.label;
[label sizeToFit];
};
[text yy_setColor:[UIColor colorWithRed:0.000 green:0.449 blue:1.000 alpha:1.000] range:[text.string rangeOfString:@"全文"]];
[text yy_setTextHighlight:hi range:[text.string rangeOfString:@"全文"]];
text.yy_font = _label.font;
YYLabel *seeMore = [YYLabel new];
seeMore.attributedText = text;
[seeMore sizeToFit];
NSAttributedString *truncationToken = [NSAttributedString yy_attachmentStringWithContent:seeMore contentMode:UIViewContentModeCenter attachmentSize:seeMore.frame.size alignToFont:text.yy_font alignment:YYTextVerticalAlignmentCenter];
_label.truncationToken = truncationToken;
}