瀑布流/流水布局的解決方案

1.最近做的一個(gè)項(xiàng)目用到了流水布局,簡(jiǎn)單粗暴,找了個(gè)demo放進(jìn)去.剛開始靜態(tài)頁面感覺還不錯(cuò).

demo: http://www.cocoachina.com/ios/20160407/15872.html


demo圖

最關(guān)鍵的是圖片下面還有4個(gè)label和一個(gè)imageView, 修改demo里的原始布局,讓圖片和文字高度自適應(yīng)

圖片和文字都沒設(shè)置高度.

問題一:加載網(wǎng)絡(luò)圖片的時(shí)候,下拉刷新,圖片高度和文字高度發(fā)生變化.

解決方案:計(jì)算文字的高度,文字高度固定后,刷新時(shí)布局不會(huì)發(fā)生改變.

計(jì)算文字高度方法:

/*

@param width限制字符串顯示區(qū)域的寬度

@result float返回的高度

*/

CGSizetitleSize = [textboundingRectWithSize:CGSizeMake(width,MAXFLOAT)options:NSStringDrawingUsesLineFragmentOriginattributes:@{NSFontAttributeName:[UIFontsystemFontOfSize:12]}context:nil].size;

問題二:圖片寬高到底是客戶端計(jì)算呢?還是服務(wù)端獲取呢.我更傾向于服務(wù)器獲取,這對(duì)強(qiáng)大的服務(wù)器來說應(yīng)該是小菜. 但是不知道怎么回事,可能是服務(wù)器配置太渣,后臺(tái)一加入獲取寬高的函數(shù)就接口就請(qǐng)求超時(shí),這搞得我非常郁悶,最后還是客戶端自己下載圖片獲取寬高吧.

下載圖片的方法:

[SDWebImageManager.sharedManagerloadImageWithURL:[NSURLURLWithString:model.view]options:SDWebImageRetryFailedprogress:nilcompleted:^(UIImage*_Nullableimage,NSData*_Nullabledata,NSError*_Nullableerror,SDImageCacheTypecacheType,BOOLfinished,NSURL*_NullableimageURL) {

}];

不過還存在瑕疵:寬高需要賦初始值.不然會(huì)卡住,一進(jìn)入界面,由于圖片沒有下載下來導(dǎo)致顯示的圖片高度不是真實(shí)高度.

最終的實(shí)現(xiàn)的效果是:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,244評(píng)論 4 61
  • 最近發(fā)現(xiàn)自己記性差了好多,拼命想要記住些什么,那就從簡(jiǎn)書開始吧。 13年6月大學(xué)畢業(yè),7月來到深圳??烊炅耍覍?duì)...
    你當(dāng)溫柔卻有力量726閱讀 598評(píng)論 2 1
  • 看到題目——郭芙為什么討人嫌?大家可能就會(huì)想,很簡(jiǎn)單啊,她傲嬌嘛,自大嘛,闖了那么多禍,還砍斷了楊過的胳膊,還不討...
    八田草閱讀 845評(píng)論 2 2
  • 這是一本很奇特的小書。翻看的那一刻,如進(jìn)入了一個(gè)人的內(nèi)心世界,這個(gè)人在窺探世界,我們看到了他窺探時(shí)記錄下的文字。當(dāng)...
    柳二白閱讀 1,259評(píng)論 0 6

友情鏈接更多精彩內(nèi)容