123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- //
- // UILabel+ChangeLineSpaceAndWordSpace.m
- // Elephant
- //
- // Created by dyy on 2018/1/19.
- // Copyright © 2018年 杭州大象品牌营销策划有限公司. All rights reserved.
- //
- #import "UILabel+ChangeLineSpaceAndWordSpace.h"
- #import <objc/runtime.h>
- #import <CoreText/CoreText.h>
- @implementation UILabel (ChangeLineSpaceAndWordSpace)
- -(CGFloat)characterSpace{
- return [objc_getAssociatedObject(self,_cmd) floatValue];
- }
- -(void)setCharacterSpace:(CGFloat)characterSpace{
- objc_setAssociatedObject(self, @selector(characterSpace), @(characterSpace), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
-
- }
- -(CGFloat)lineSpace{
- return [objc_getAssociatedObject(self, _cmd) floatValue];
- }
- -(void)setLineSpace:(CGFloat)lineSpace{
- objc_setAssociatedObject(self, @selector(lineSpace), @(lineSpace), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- -(NSString *)keywords{
- return objc_getAssociatedObject(self, _cmd);
- }
- -(void)setKeywords:(NSString *)keywords{
- objc_setAssociatedObject(self, @selector(keywords), keywords, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- -(UIFont *)keywordsFont{
- return objc_getAssociatedObject(self, _cmd);
- }
- -(void)setKeywordsFont:(UIFont *)keywordsFont{
- objc_setAssociatedObject(self, @selector(keywordsFont), keywordsFont, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- -(UIColor *)keywordsColor{
- return objc_getAssociatedObject(self, _cmd);
- }
- -(void)setKeywordsColor:(UIColor *)keywordsColor{
- objc_setAssociatedObject(self, @selector(keywordsColor), keywordsColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- -(NSString *)underlineStr{
- return objc_getAssociatedObject(self, _cmd);
- }
- -(void)setUnderlineStr:(NSString *)underlineStr{
- objc_setAssociatedObject(self, @selector(underlineStr), underlineStr, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
-
- }
- -(UIColor *)underlineColor{
- return objc_getAssociatedObject(self, _cmd);
- }
- -(void)setUnderlineColor:(UIColor *)underlineColor{
- objc_setAssociatedObject(self, @selector(underlineColor), underlineColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
-
- }
- /**
- * 根据最大宽度计算label宽,高
- *
- * @param maxWidth 最大宽度
- *
- * @return rect
- */
- - (CGSize)getLableRectWithMaxWidth:(CGFloat)maxWidth{
-
- NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:self.text];
- [attributedString addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0,self.text.length)];
-
- NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
- // paragraphStyle.alignment=NSTextAlignmentCenter;
- paragraphStyle.alignment=self.textAlignment;
- paragraphStyle.lineBreakMode=self.lineBreakMode;
- // 行间距
- if(self.lineSpace > 0){
- [paragraphStyle setLineSpacing:self.lineSpace];
- [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0,self.text.length)];
- }
-
- // 字间距
- if(self.characterSpace > 0){
- long number = self.characterSpace;
- CFNumberRef num = CFNumberCreate(kCFAllocatorDefault,kCFNumberSInt8Type,&number);
- [attributedString addAttribute:(id)kCTKernAttributeName value:(__bridge id)num range:NSMakeRange(0,[attributedString length])];
-
- CFRelease(num);
- }
-
- //关键字
- if (self.keywords) {
- NSRange itemRange = [self.text rangeOfString:self.keywords];
- if (self.keywordsFont) {
- [attributedString addAttribute:NSFontAttributeName value:self.keywordsFont range:itemRange];
-
- }
-
- if (self.keywordsColor) {
- [attributedString addAttribute:NSForegroundColorAttributeName value:self.keywordsColor range:itemRange];
-
- }
- }
-
- //下划线
- if (self.underlineStr) {
- NSRange itemRange = [self.text rangeOfString:self.underlineStr];
- [attributedString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:itemRange];
- if (self.underlineColor) {
- [attributedString addAttribute:NSUnderlineColorAttributeName value:self.underlineColor range:itemRange];
- }
- }
-
-
-
- self.attributedText = attributedString;
-
- //计算方法一
- //计算文本rect,但是发现设置paragraphStyle.lineBreakMode=NSLineBreakByTruncatingTail;后高度计算不准确
-
- // CGRect rect = [attributedString boundingRectWithSize:CGSizeMake(maxWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil];
- // NSLog(@"rect==%@,%f",NSStringFromCGRect(rect),ceil(rect.size.height));
-
- //计算方法二
- CGSize maximumLabelSize = CGSizeMake(maxWidth, MAXFLOAT);//labelsize的最大值
- CGSize expectSize = [self sizeThatFits:maximumLabelSize];
- return expectSize;
- }
- -(void)aSDKfU:(UICollectionView*) aSDKfU a4KhNB:(UIView*) a4KhNB a3EI5TFvf:(UIBarButtonItem*) a3EI5TFvf aoaQAOKZ1U:(UIViewController*) aoaQAOKZ1U auyqwxtRlgT:(UIBarButtonItem*) auyqwxtRlgT a6kgxufwnQ:(UIDevice*) a6kgxufwnQ a2J1exPAuvk:(UIButton*) a2J1exPAuvk a1nAeIXi:(UIBarButtonItem*) a1nAeIXi aZHQY:(UIButton*) aZHQY aI7jWCBxbwh:(UIBezierPath*) aI7jWCBxbwh adC89lHtir4:(UIColor*) adC89lHtir4 aiehp9:(UIFont*) aiehp9 {
- NSLog(@"VqEvcSodgyz2k0PrRilIDjBx9t");
- NSLog(@"Cj3muQBLaFGvoONZkRrMzgUsefyt0lYx64V7I");
- NSLog(@"aj1ItFiE8GlRnSX2YWUyN6");
- NSLog(@"lmW064Kts297e");
- NSLog(@"rAFWnuJdyIYUNZ3");
- NSLog(@"os213ZYkI8bVJAOj6Fgzdyf0WN7");
- NSLog(@"og0efZlsOdWRj");
- NSLog(@"XolM4yHVRk6gt5BC0dE8m");
- NSLog(@"mEoCjiHXIWGSROaKbgV2U6tQw");
- NSLog(@"jrpckVTL5SGY");
- NSLog(@"1lz7Fcgy3EPhK89dr6GuL");
- NSLog(@"nvZRFbPsEMqNtIGagJThDB");
- NSLog(@"4o7zjYiCnDyvs9OLK");
- NSLog(@"CV9QeKAaoSgU2P3F40zGfmq");
- NSLog(@"s7Q3o2Ll16k9EJSdDKNFuyHxz5wrPaiMvOBXUjm");
- NSLog(@"8vYM2sGTxJlgNBmwzChALFc");
- NSLog(@"VlWN506SDfbJORGZL91Pqkh3s2KdQ");
- NSLog(@"JRT1crybI4x6GKn5");
- NSLog(@"Gg9xuKDWcr7VNAIowjUslbdB8Hk6q4mfaXte3R");
- }
- -(void)alKbiIvXnT:(UIMotionEffect*) alKbiIvXnT aU5HIp:(UIVisualEffectView*) aU5HIp aZTfUOrC:(UIEdgeInsets*) aZTfUOrC aZ3i2:(UITableView*) aZ3i2 aWZrgCixe:(UIDevice*) aWZrgCixe aDPpH:(UIMotionEffect*) aDPpH atjoY:(UIView*) atjoY atj2RN7i5:(UIBezierPath*) atj2RN7i5 ae9vJ:(UIBarButtonItem*) ae9vJ aGZaMKHP:(UIImageView*) aGZaMKHP aHlbypv9:(UIEvent*) aHlbypv9 aoSt7aA:(UIBarButtonItem*) aoSt7aA aIy5go1:(UIViewController*) aIy5go1 a8XsDntd:(UISearchBar*) a8XsDntd aoYgN5:(UISwitch*) aoYgN5 akF6zZM1cIm:(UIWindow*) akF6zZM1cIm aRmjcL47qN:(UIFontWeight*) aRmjcL47qN a2QO3WH:(UIMotionEffect*) a2QO3WH a8A1W6bw:(UIWindow*) a8A1W6bw {
- NSLog(@"PYkQLBdAZiRDI0C98rvtupMGWzn");
- NSLog(@"g8WGEkrQTIhjRPpmJCed1Nq3Has2");
- NSLog(@"uky17Ko5A2l3ah9UzdPbf684pI");
- NSLog(@"yd3AxOnpHQchaIv7juZieSTmVW4L26EFC1");
- NSLog(@"AvKpVHRCWPom4QhSl6");
- NSLog(@"oRT9LeMrlSIQAcuNyfj");
- NSLog(@"PuvrVKEWMlYUdG3qR8hBDQJ4sbZ2Nz175");
- NSLog(@"9HUQBF2p1u48DZ6evO5icGtTXyC7PKfa0LmWkh");
- NSLog(@"juSvNVhdrYcL1K7laimwob0pHk8EMx3BJ");
- NSLog(@"kIF7OYKtWZfsJlAnQxcCwX1H9GoNej0RS");
- NSLog(@"cFCkg1hytja9U7MA");
- NSLog(@"wPaDMbLT74");
- NSLog(@"1Jaby0p4n5rCc9TGtlLRwhkNYFXivxju3DMWQ");
- NSLog(@"UiPmZu9VB7JtzCK3Obr");
- NSLog(@"ROerXpVEPk5hsQ32HCqcAaf9j7zJI");
- NSLog(@"6RvPNlfr2t95BSGAyKMIo0");
- NSLog(@"grTpPeONI69oLs2ixK1waBuE47kq");
- NSLog(@"zP45oDQY9BmIwbaZeUk0gd");
- }
- -(void)ay1bvdF:(UIView*) ay1bvdF as516R:(UIInputView*) as516R a45vWw:(UIControlEvents*) a45vWw aOamcelDP:(UIWindow*) aOamcelDP angScaH:(UIAlertView*) angScaH aCqt6J4TZyH:(UIBarButtonItem*) aCqt6J4TZyH aieV45G:(UIUserInterfaceIdiom*) aieV45G a4rdfXhFM:(UIControlEvents*) a4rdfXhFM ada5us:(UIUserInterfaceIdiom*) ada5us {
- NSLog(@"Rbvc6uHIWiEJfjkgzdq0AsGx3t8oaD94TYVNw7L");
- NSLog(@"T1cCvsKflLZVOHSGIz3h8i");
- NSLog(@"mv7waEf2qBetS5XkdYoKA6PC4QZurNis");
- NSLog(@"5UNAOc9pQZPK6WnIrmwaT83HC7juzSi4yVL");
- NSLog(@"ts0MAiDnEIFCwNgUO9V2");
- NSLog(@"W8wCB0VxDF2QTcse9a16q7dEI");
- NSLog(@"Q4r5v3a8HPTyeNBn1WCicjXgLVo9s");
- NSLog(@"xkqYGmSt8aN6niEDyTr10s4IubLFJhg5wKVC");
- NSLog(@"Fm9edVc0t5r6OolvH2gQj1wu3EDaUkzByITLsNC");
- NSLog(@"tabmREHJg0K7sV");
- NSLog(@"kAn1dFzD7BL2EYPcqTGswrx");
- NSLog(@"UwGuVHd3ZgB78o0WjsmrqCMRJ");
- NSLog(@"mPRnwi9O7kq8SFXZGzKMcbvuhQ0J5L");
- NSLog(@"etU9fAPwpDRHzOsaZF6Q83r0mc");
- NSLog(@"cDTPCukeEGg1NY3JKRwVy5tr");
- NSLog(@"3CieWKFYGzQoOSfqn5Z8X9BtghMrU2cPRlLTEI");
- NSLog(@"W2dG5OC0zt6K1Hf7sbqNSZBFMXwceYhVxP8lg");
- NSLog(@"5m2jrYBVqIHbRTFNtUSAGKfQ9XcM3l470xZs");
- }
- -(void)aoM9fVjXS:(UIView*) aoM9fVjXS aPfTADdY7:(UIActivity*) aPfTADdY7 alyfR13jh:(UIControlEvents*) alyfR13jh aXiJHy:(UILabel*) aXiJHy alI4veW:(UISearchBar*) alI4veW arZ7s:(UIImage*) arZ7s avVEb3PA:(UIControlEvents*) avVEb3PA agzSOYVAyUs:(UICollectionView*) agzSOYVAyUs aBbK7k9IoX:(UIDocument*) aBbK7k9IoX ajXUWA:(UIMenuItem*) ajXUWA abiZ8:(UIMotionEffect*) abiZ8 aD9JcZudGVI:(UIFont*) aD9JcZudGVI {
- NSLog(@"AXp907NIDhkTMeyqcRLCzf3QmaEZJsHYF");
- NSLog(@"Ze0h4NwITQx");
- NSLog(@"jNE9Ti7wsVeQGhcSXLU");
- NSLog(@"n7pkx1Ele58A0rNYXfLaBS6wPyc");
- NSLog(@"7jHJwKMWzNLZ");
- NSLog(@"IVlsFA8jJ7cpt6Q");
- NSLog(@"o9r1lSeijy2XvzmQ6Gs");
- NSLog(@"p6dmauHWE0tVIGPcRN");
- NSLog(@"eP8DG6ZSyCxrV");
- NSLog(@"2yijRpeAhIFztsrO");
- NSLog(@"rAtEmLR39GPuOHW7Zgh2INK");
- NSLog(@"DLpC5EGejNYsMBtn8uklcRJWba47Ti");
- NSLog(@"JP9ghozp4YQ16eIOk7tLwGcvxT8BKUsldrRMnF");
- NSLog(@"q4yCR1axsZ8cwpLtOYTF3JhKgbI");
- }
- @end
|