2013-09-24 3 views
0

누구나 UIScrollVIew에서 고해상도 이미지를로드하거나 설정하는 방법을 알려줄 수 있습니까? 메모리 경고가 발생하고 앱에서 스택 추적없이 오류가 발생합니다. 진보 된 감사합니다.UIscrollView에서 고해상도로 이미지를로드하는 방법

+1

고해상도를 지정하십시오. – Desdenova

+0

한 번에 얼마나 많은 이미지를로드합니까? – Ushan87

+0

한 번에 3 장의 이미지 .. 아직 앱이 기기에서 충돌하지만 시뮬레이터에서 작동합니다. –

답변

0

지연로드 개념을 사용해야합니다. UIScrollView를 사용했다는 것은 이미지가 많이 있다는 것을 의미하며, 한 번에 하나씩 또는 두세 개씩 보여줄 것이라고 추측합니다. 사용자가 볼 수있는 이미지 만로드하십시오. 당신이 유지해야 할 또 하나의 일은 사용자가 다음 이미지로 스 와이프하거나 다음 이미지를 의미하는 다음 이미지로 사용자가 볼 수있게하는 것입니다. 로드가 시작되기 전에 새로운 이미지는 이전에로드 된 이미지를 메모리에서 모두 해제합니다. 나는 그것이 당신의 문제를 해결할 수 있기를 바랍니다.

3

나는 또한 UIScrollView이있는 응용 프로그램에서 고해상도 이미지를 요청해야했습니다. 문제는 다운로드중인 이미지의 크기를 먼저 확인해야한다는 것입니다. 즉, 이미지 크기가 10MB를 초과하면 앱이 과부하 상태에서 생존하기 어려울 수 있습니다.

다음 방법론을 고려해 볼 수 있습니다.

1. 이미지를 다운로드하고 압축하십시오.

2.At 시간의 특정 인스턴스, 즉, 전류를

1.를 한 번에 모든 이미지와 스크롤 뷰 배열을 채우는 대신 세 개의 이미지를 가지고 시도 할 필요가 없다 표시됩니다.

2. 이전 것.

3. 현재 이미지 옆에있는 이미지. 당신이 UIScrollView 내부 높은 해상도 이미지의 여러 UIImageView을 만들려고하는 경우

는 또한, 링크 http://www.raywenderlich.com/10518/how-to-use-uiscrollview-to-scroll-and-zoom-content

+0

감사합니다. vaibhav_15 .. 이미지 해상도를 줄이는 방법이 있습니다. '부호' + (있는 UIImage *) imageWithImage (있는 UIImage *) 화상 scaledToSize (CGSize) newSize와 { UIGraphicsBeginImageContext (newSize와); [이미지 drawInRect : CGRectMake (0,0, newSize.width, newSize.height)]; UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } –

+0

내 기쁨. 대답을 유용하다고 표시해 주시겠습니까? –

0

도움이 걸릴 수 있습니다 그것은 메모리 경고와 충돌합니다 응용 프로그램을 만들 것입니다.

작성 하시겠습니까? UIImageView 재사용을 시도하고 3 UIImageView을 만들고 이미지를 바꿔 넣으십시오.

원형 스크롤 뷰를 사용해보세요. link 또는 UICollectionView

관련 문제