最近優化升級了之前做的一個項目,現在這一期已接近尾聲了,今天可以騰出些時間總結一下最近項目中用的比較多的圖片文字混排顯示的內容。現在遇到比較多的圖文混排的基本有三種:一種是在標簽中顯示 價格符號+價格+某種內部項目單位(如糧票符號)+數量,這種在項目中用的比較多些;第二種是商品詳情中展示一段文字+一組圖片或者是,一段文字+一張圖片的數組形式展示,這種在詳情中用的也不少;還有一種的和第二種類似,像是網頁中的東西,這里就不多說了;下面說說前兩種比較常用的圖文混排展示的方式;
1、,在標簽中顯示價格單位+價格+項目內部單位符號+數量的一種方式;這種方式用的還是比較多的,一種比較簡單的方式是從網上可以找到第三方支持圖片顯示的控件,像是CTTextDisplayView-master,在cocoaChina或者Code4App上面可以搜索的到,里面封裝了一個view類型的cell對象,支持圖片、文字、超鏈接、@某人
等效果,需要的話可以自己去下載,用了一次效果還是不錯的,功能很強大,還支持對指定文本字段的點擊效果;另外一種方式是可以在UILabel標簽中通過對標簽的重繪,也可以實現同樣的效果;廢話不多說直接上代碼了。
NSString *temStr = [NSString stringWithFormat:@"¥%.2f + ",[price floatValue]-[score floatValue]];
NSTextAttachment* attach = [[NSTextAttachment alloc] init];
attach.image = [UIImage imageNamed:@"P灰色列表糧票符號.png"];
NSAttributedString* attStr1 = [NSAttributedString attributedStringWithAttachment:attach];
NSMutableAttributedString* attStr = [[NSMutableAttributedString alloc] initWithAttributedString:attStr1];
NSMutableAttributedString *strMatt = [[NSMutableAttributedString alloc] initWithString:temStr];
//在圖片前面插入一段文字
[attStr insertAttributedString:strMatt atIndex:0];
//在圖片后面追加一段文字
[attStr appendAttributedString:[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%.2f",[score floatValue]]]];
//設置圖片的大小
attach.bounds = CGRectMake(0, 0, 8, 9);
cell.lblrealprice.attributedText = attStr;
2、在詳情中實現圖文混排的方式,或者是一段文字+一張圖片作為一個整體的一組展示;前面的這種需要實現文本高度的動態判斷,然后根據圖片數組的個數動態的計算整體的高度和圖片顯示的位置即可,當然還有個查看大圖的效果這里就不詳細敘述了。第二種可以將標簽、圖片封裝成一個cell動態判斷每一個cell的文本高度+圖片是否存在即可;