나는 매우 기본적인 질문을 가지고 있으므로 코드를 게시하지 않습니다.컬렉션보기에서 왜곡없이 이미지를 표시하는 올바른 방법은 무엇입니까
개요는 내가 작성한 사용자 지정 레이아웃을 사용합니다 콜렉션 볼 수 있습니다. 이 모든 맞춤 레이아웃은 일부 수학을 적용하고 화면 너비에 따라 화면에 배치 할 최적 셀 수를 찾고 패딩을 사용하여 추가 픽셀을 반올림합니다. 결과적으로 대부분의 셀 크기는 컬렉션보기가 iPad Pro와 같은 장치에서 방향이 바뀔 때 달라집니다. 내 말은 셀 크기가 300 x 300 인 경우 가로로 320 x 300이 될 수 있습니다. (그들은 단지 아이디어를 내고자하는 정확한 값이 아닙니다.)
모든 단일 셀에는 imageView가 있으며 서버에서 이미지를 다운로드해야합니다. SDWebImage를 사용하고 있습니다. 다운로드 한 이미지는 내 셀보다 훨씬 크기 때문에 큰 이미지를 메모리에로드하고 싶지 않으므로 다운로드 한 이미지의 크기를 SDWebImageCache에 올려 놓기로 결정했습니다.
문제
이제 내 세포의 크기는 장치 방향에 따라 변경, 이미지보기 픽셀 완벽하게하기 위해 내가 할 때마다 장치는 각 셀에 대해 회전 이미지 크기를 조정해야 할 것이다대로. 그러나 그것은 나쁜 성과로 이어질 것입니다.
솔루션 나는 두 이미지 SDWeImageCache 한 방향에 대한 각각의 캐시해야하지만, 다시 응용 프로그램의 메모리 풋 프린트를 증가 이잖아
을 낸 것.
가장 큰 크기의 셀을 찾아서 다양한 방향으로 가져 와서 그 크기로 이미지의 크기를 조정 한 다음 이미지 크기가 AspectToFit으로 설정된 이미지보기로 모든 작은 셀 크기에 동일한 이미지를 사용합니다.
정확한 방법은 무엇입니까? 코드가 필요 없으며 단지 아이디어가 필요합니다.
2. 가장 쉬운 것 같습니다. 2로 가면 결과가 충분히 좋아 보이는 지 알 수 있습니다 (나는 그렇게 할 것입니다). 만약에 1로 가지 않으면. – deadbeef
@deadbeef : 제안 해 주셔서 감사합니다. 해결책 2의 유일한 문제점은 사용자가 모든 방향으로 장치를 회전시킬 때까지 셀의 최대 크기를 알 수 없다는 것입니다. (또는 모든 방향에 대한 크기를 미리 계산할 수 있습니다. 다시 계산할 수있는 수학 공식은 거의 없으며 이미지 자체의 크기를 조정할 때보 다 가벼워 야합니다. D –
장치가 돌아 가거나 왜곡되어 있습니까? – impression7vx