這個(gè)情況是這樣的撩荣,當(dāng)我們進(jìn)行網(wǎng)絡(luò)加載后铣揉,圖片已經(jīng)緩存啦,后臺(tái)傳回來的圖片尺寸突然改了餐曹,此時(shí)逛拱,如果我們不做任何動(dòng)作的話,它這樣就會(huì)顯示之前的圖片尺寸或圖片內(nèi)容凸主。
通常我們處理的方法橘券,(緩存的key通常是根據(jù)URL 來判斷的)
- 后臺(tái)改:改尺寸的同時(shí),將鏈接直接改啦卿吐,這樣我們省事旁舰。
- 我們改:對(duì)其新的尺寸進(jìn)行調(diào)整。
此處嗡官,我想的是當(dāng)然對(duì)其新的尺寸進(jìn)行修改調(diào)整箭窜,但是思索一番,覺的一種情況還可行衍腥,就是在我們對(duì)URL 的key 進(jìn)行判斷的時(shí)候磺樱,同時(shí)加上一個(gè)對(duì)高和寬的判斷,如果都一致才直接從緩存中獲取婆咸,但是這樣太麻煩啦竹捉,每次都得獲取到圖片后再判斷,那還不如直接獲取網(wǎng)絡(luò)圖片啊尚骄。
暫時(shí)沒有好的方法块差,個(gè)人覺的假如圖片尺寸真的要改,最好的還是直接讓后臺(tái)改個(gè)鏈接方便倔丈。
PS :獲取圖片的尺寸
獲取本地圖片的大小
// path 圖片的本地路徑
CGSize size = [UIImage imageWithContentsOfFile:path].size;
// test 圖片名稱
CGSize size = [UIImage imageNamed:@"test"].size
不畫的情況下改變尺寸
// CGSizeApplyAffineTransform
// CGAffineTransformMakeScale
CGSize transformSize = CGSizeApplyAffineTransform(image.size, CGAffineTransformMakeScale(0.5, 0.5));