我有一個非常基本的問題,因此沒有發佈任何代碼。什麼是在收集視圖中顯示圖像沒有失真的正確方法
概述
我有一個集合視圖,這使得使用我所編寫的自定義佈局。所有這些自定義佈局都會應用一些數學算法,並根據屏幕寬度找出放置在屏幕上的單元格的最佳數量,並嘗試使用填充四捨五入其他像素。因此,當收藏視圖改變其方向時,特別是在iPad Pro等設備上,我的大部分單元格大小都會有所不同。我的意思是,如果單元格的大小爲300 x 300縱向,則可能會變成320 x 300像橫向格式的東西。 (他們不是確切的價值只是想提供一個想法)
每個單元格都有imageView和圖像需要從服務器上下載。我正在使用SDWebImage。下載的圖片比我的單元格大,我不想將這些大圖片加載到內存中,因此我決定在將圖片下載到SDWebImageCache之前先調整圖片的大小。
問題
現在我的細胞大小是基於設備的方向發生變化,爲了使圖像看起來像素完美的我不得不調整每一次設備爲每個單元旋轉圖像。但那會導致糟糕的表現。
解決方案我已經想通了
我不得不緩存兩個圖像,每一個用於一個定向SDWeImageCache卻又多數民衆贊成將增加應用程序的內存佔用。
查找最大尺寸的單元格將在各種方向中獲得並將圖像調整爲該尺寸,然後使用相同的圖像對所有較小的單元格尺寸進行圖像查看,並將其模式設置爲AspectToFit。
請告訴我什麼是正確的方法。我不需要代碼,只需要想法。
2.看起來最簡單。我會和2一起看看結果是否足夠好(我敢打賭它會)。如果沒有去1. – deadbeef
@deadbeef:感謝您的建議:)解決方案2的唯一問題是,我不知道最大的單元格大小,直到用戶旋轉設備到所有的方向:(或我會有要預先計算所有方向的尺寸,因爲它涉及幾乎沒有幾個數學方程式,所以它應該是很好的尺寸,並且應該是重量輕於調整圖像本身的尺寸:D –
它們在設備轉動時還是變形? – impression7vx