這個情況是這樣的,當我們進行網絡加載后,圖片已經緩存啦,后臺傳回來的圖片尺寸突然改了,此時,如果我們不做任何動作的話,它這樣就會顯示之前的圖片尺寸或圖片內容。
通常我們處理的方法,(緩存的key通常是根據URL 來判斷的)
- 后臺改:改尺寸的同時,將鏈接直接改啦,這樣我們省事。
- 我們改:對其新的尺寸進行調整。
此處,我想的是當然對其新的尺寸進行修改調整,但是思索一番,覺的一種情況還可行,就是在我們對URL 的key 進行判斷的時候,同時加上一個對高和寬的判斷,如果都一致才直接從緩存中獲取,但是這樣太麻煩啦,每次都得獲取到圖片后再判斷,那還不如直接獲取網絡圖片啊。
暫時沒有好的方法,個人覺的假如圖片尺寸真的要改,最好的還是直接讓后臺改個鏈接方便。
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));