iOS圖文混排與NSString轉換
圖文混排是iOS開發中經常遇到的一個場景,網上的教程往往只說明瞭如何將一篇圖文混合的內容展示出來,而忽略了將一篇圖文混合的內容翻譯為約定的資料,從而進行儲存和傳輸使用。
iOS7.0之後可以使用NSTextAttachment與NSAttributedString完成圖文混排的展示
- (NSAttributedString*)attributedStringWithImage:(UIImage*)image
{
NSTextAttachment*attch = [[NSTextAttachment alloc]init];
attch.image= image;
attch.bounds=CGRectMake(0,0,32,32);//設定圖片大小
return [NSAttributedString attributedStringWithAttachment:attch];
}
完成了圖文混排的展示後,需要將混排的內容轉換成String使用
- (NSString *)stringFromAttributedString:(NSAttributedString *)attr
{
NSMutableAttributedString * resutlAtt = [[NSMutableAttributedString alloc]initWithAttributedString:attr];
// 這個方法是文字結尾開始向前列舉,可以放心使用replace方法而不用擔心替換後range發生變化導致問題
[attr enumerateAttributesInRange:NSMakeRange(0, attr.length) options:NSAttributedStringEnumerationReverse usingBlock:^(NSDictionary *attrs, NSRange range, BOOL *stop) {
NSTextAttachment * textAtt = attrs[@"NSAttachment"]; // 從字典中取得那一個圖片
if (textAtt)
{
UIImage * image = textAtt.image;
[resutlAtt replaceCharactersInRange:range withString:[self stringWithImage:image]];
}
}];
return resutlAtt.string;
}
- (NSString *)stringWithImage:(UIImage *)image
{
NSString *result = @"";
/**
* 將圖片翻譯成你所需要的內容
**/
return result;
}
通過列舉NSAttributedString中的內容,並對其中特定的內容進行轉換的方法,不只可以用於對圖片內容的轉換,可以基於這個思路完成一個簡單的文字編輯器。
相關文章
- iOS - 圖文混排技術方案分享iOS
- TextView:圖文混排TextView
- 轉 IOS---NSdata 與 NSString,Byte陣列,UIImage 的相互轉換iOS陣列UI
- Flutter 中的圖文混排與原理解析Flutter
- iOS引用轉換:Foundation與Core Foundation物件互相轉換(__CFString轉NSString,void *轉id等等)iOS物件
- iOS開發UI篇--一個支援圖文混排的ActionSheetiOSUI
- 短視訊平臺原始碼,IOS圖文混排基礎原始碼iOS
- iOS開發 如何在Label中顯示圖片-圖文混排iOS
- NSDate和NSString轉換
- Unity使用TextMeshPro實現聊天圖文混排Unity
- ios NSString與LongValue,usignedLongValue,longlongValueiOS
- 50行程式碼實現圖文混排行程
- Android圖文混排實現方式詳解Android
- CoreText實現圖文混排之點選事件事件
- object-c中NSString與int和float的相互轉換Object
- word圖文混排複製到KindEditor圖片不顯示
- word圖文混排複製到CuteEditor圖片不顯示
- iOS-NSStringiOS
- 圖文轉換就選轉易俠
- NSString, NSData和Byte的相互轉換
- 如何將圖片轉word?圖文轉換選轉易俠
- TextKit入門? 表情鍵盤? 圖文混排? --看我就夠了
- iOS擷取NSString字串iOS字串
- iOS NSString真是個奇葩啊!iOS
- iOS NSString字串擷取方法iOS字串
- C#實現聊天訊息渲染、圖文混排(支援Windows、Linux)C#WindowsLinux
- iOS引用轉換:Foundation與Core Foundation對iOS
- [Android開源]:EasyImageGetter幫你實現帶網路圖片的html圖文混排!AndroidHTML
- iOS NSString中實用的方法iOS
- iOS NSString 字串的特殊處理iOS字串
- IOS FoundationKit (NSString) 知識彙總iOS
- iOS中地圖經緯度座標轉換iOS地圖
- 圖片格式轉換,JPG圖片轉換成PDF
- OpenGL ES on iOS --- 座標系統與矩陣轉換iOS矩陣
- 【iOS】動態更換圖示iOS
- android text 中英文混排 換行的問題Android
- js圖片 轉換JS
- 圖片格式怎麼轉換,如何轉換jpg