国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

富文本相關處理的屬性和思路

2019-11-06 09:42:13
字體:
來源:轉載
供稿:網友
NSString * Str = @"中國人民解放軍萬歲,中華人民共和國萬歲,萬歲!"; self.attrobiuteLabel.attributedText = [self stringWithUIImage:Str];

屬性介紹

添加屬性

- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;

創建一個富文本

NSMutableAttributedString * attriStr = [[NSMutableAttributedString alloc] initWithString:contentStr];

設置富文本中的不同文字的樣式

[attriStr addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, 5)];[attriStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(0, 5)];

添加圖片到指定的位置

NSTextAttachment *attchImage = [[NSTextAttachment alloc] init];// 表情圖片attchImage.image = [UIImage imageNamed:@"jiedu"];// 設置圖片大小attchImage.bounds = CGRectMake(0, 0, 40, 15);NSAttributedString *stringImage = [NSAttributedString attributedStringWithAttachment:attchImage];[attriStr insertAttributedString:stringImage atIndex:2];

設置數字為紅色

[attriStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(5, 9)];[attriStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30] range:NSMakeRange(5, 9)];

追加圖片到最后一位

NSTextAttachment *attch = [[NSTextAttachment alloc] init];// 表情圖片attch.image = [UIImage imageNamed:@"jiedu"];// 設置圖片大小attch.bounds = CGRectMake(0, 0, 40, 15);// 創建帶有圖片的富文本NSAttributedString *string = [NSAttributedString attributedStringWithAttachment:attch];[attriStr appendAttributedString:string];

可能覺得這樣添加屬性太慢了,怎么辦,當然還有其他的API了。暴力添加的屬性添加群體屬性

- (void)addAttributes:(NSDictionary<NSString *, id> *)attrs range:(NSRange)range;

這里面添加的是一個字典,也就是說有字體屬性對應的key用添加的。下面來一個實例

NSDictionary * attriBute = @{NSForegroundColorAttributeName:[UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:30]}; [attriStr addAttributes:attriBute range:NSMakeRange(5, 9)];

//-----------------------------華麗的分割線-------------------------------------上面說了一些常用的屬性,包括了添加屬性,多方法設置字體屬性等情況

下面說說這個整體的方法如下

- (NSAttributedString *)stringWithUIImage:(NSString *) contentStr { // 創建一個富文本 NSMutableAttributedString * attriStr = [[NSMutableAttributedString alloc] initWithString:contentStr]; // 修改富文本中的不同文字的樣式 [attriStr addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, 5)]; [attriStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(0, 5)]; /** 添加圖片到指定的位置 */ NSTextAttachment *attchImage = [[NSTextAttachment alloc] init]; // 表情圖片 attchImage.image = [UIImage imageNamed:@"jiedu"]; // 設置圖片大小 attchImage.bounds = CGRectMake(0, 0, 40, 15); NSAttributedString *stringImage = [NSAttributedString attributedStringWithAttachment:attchImage]; [attriStr insertAttributedString:stringImage atIndex:2]; // 設置數字為紅色 /* [attriStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(5, 9)]; [attriStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30] range:NSMakeRange(5, 9)]; */ //NSDictionary * attrDict = @{ NSFontAttributeName: [UIFont fontWithName: @"Zapfino" size: 15], // NSForegroundColorAttributeName: [UIColor blueColor] }; //創建 NSAttributedString 并賦值 //_label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict]; NSDictionary * attriBute = @{NSForegroundColorAttributeName:[UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:30]}; [attriStr addAttributes:attriBute range:NSMakeRange(5, 9)]; // 添加表情到最后一位 NSTextAttachment *attch = [[NSTextAttachment alloc] init]; // 表情圖片 attch.image = [UIImage imageNamed:@"jiedu"]; // 設置圖片大小 attch.bounds = CGRectMake(0, 0, 40, 15); // 創建帶有圖片的富文本 NSAttributedString *string = [NSAttributedString attributedStringWithAttachment:attch]; [attriStr appendAttributedString:string]; return attriStr;}

//-----------------------------華麗的分割線-------------------------------------

最后把屬性搞出來,給位看官可都要留著,可以當做字典使用的?。?!

最后認識一下各個屬性的意思

// NSFontAttributeName 設置字體屬性,默認值:字體:Helvetica(Neue) 字號:12// NSForegroundColorAttributeNam 設置字體顏色,取值為 UIColor對象,默認值為黑色// NSBackgroundColorAttributeName 設置字體所在區域背景顏色,取值為 UIColor對象,默認值為nil, 透明色// NSLigatureAttributeName 設置連體屬性,取值為NSNumber 對象(整數),0 表示沒有連體字符,1 表示使用默認的連體字符// NSKernAttributeName 設定字符間距,取值為 NSNumber 對象(整數),正值間距加寬,負值間距變窄// NSStrikethroughStyleAttributeName 設置刪除線,取值為 NSNumber 對象(整數)// NSStrikethroughColorAttributeName 設置刪除線顏色,取值為 UIColor 對象,默認值為黑色// NSUnderlineStyleAttributeName 設置下劃線,取值為 NSNumber 對象(整數),枚舉常量 NSUnderlineStyle中的值,與刪除線類似// NSUnderlineColorAttributeName 設置下劃線顏色,取值為 UIColor 對象,默認值為黑色// NSStrokeWidthAttributeName 設置筆畫寬度,取值為 NSNumber 對象(整數),負值填充效果,正值中空效果// NSStrokeColorAttributeName 填充部分顏色,不是字體顏色,取值為 UIColor 對象// NSShadowAttributeName 設置陰影屬性,取值為 NSShadow 對象// NSTextEffectAttributeName 設置文本特殊效果,取值為 NSString 對象,目前只有圖版印刷效果可用:// NSBaselineOffsetAttributeName 設置基線偏移值,取值為 NSNumber (float),正值上偏,負值下偏// NSObliquenessAttributeName 設置字形傾斜度,取值為 NSNumber (float),正值右傾,負值左傾// NSExpansionAttributeName 設置文本橫向拉伸屬性,取值為 NSNumber (float),正值橫向拉伸文本,負值橫向壓縮文本// NSWritingDirectionAttributeName 設置文字書寫方向,從左向右書寫或者從右向左書寫// NSVerticalGlyphFormAttributeName 設置文字排版方向,取值為 NSNumber 對象(整數),0 表示橫排文本,1 表示豎排文本// NSLinkAttributeName 設置鏈接屬性,點擊后調用瀏覽器打開指定URL地址// NSAttachmentAttributeName 設置文本附件,取值為NSTextAttachment對象,常用于文字圖片混排// NSParagraphStyleAttributeName 設置文本段落排版格式,取值為 NSParagraphStyle 對象
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涞源县| 南木林县| 赤水市| 新巴尔虎右旗| 资溪县| 象山县| 阿拉善左旗| 称多县| 万盛区| 奈曼旗| 奉化市| 嵊泗县| 临江市| 微博| 宜兴市| 巫山县| 嘉善县| 房山区| 宣汉县| 金寨县| 南安市| 绩溪县| 兴文县| 开化县| 信阳市| 潼关县| 新宁县| 武定县| 运城市| 英山县| 佛山市| 微山县| 原阳县| 双峰县| 洪江市| 阿拉善右旗| 宁夏| 江都市| 库车县| 灵璧县| 通江县|