2011-05-10 4 views
2

iOS SDK 지식이 부족하다는 것에 대해 미리 사과드립니다. 저는 iPhone 응용 프로그램을 유지 관리하고 업데이트하는 Android 개발자입니다.UIImageView 회전 문제가있는 iOS UIScrollView

저는 UIScrollView를 사용하여 UIImageView에 표시되는 이미지의 확대/축소 및 드래그를 처리하고 있습니다.

UIImageView의 이미지는 웹 서버에서 1 초에 여러 번 요청됩니다. 장치 방향을 변경하면 이미지 크기가 현재 프레임의 크기로 변경됩니다. 예를 들어 iPad를 세로 모드로 사용하는 경우 이미지 크기는 768x1024이지만 가로 모드로 전환하면 이미지 크기가 1024x768이됩니다. 웹 서버는 요청중인 이미지의 방향과 종횡비에 따라 이미지의 위쪽/아래쪽 또는 왼쪽/오른쪽에 검정색 막대를 추가하는 작업을 수행합니다.

내 문제는 장치를 회전 한 후 UIImageView가 예상 한대로 작동하지 않는다는 것입니다. 예상 된 동작은 UIScrollView가 계속 스크롤링 작업을 수행하지만 회전 후 기본 뷰를 새 프레임 치수로 다시 설정한다는 것입니다.

UIScrollView에 contentMode를 지정하지 않으면 ScrollView가 이전 방향 치수로 이미지를 표시하려고하는 것처럼 이미지가 찌그러져 보입니다.

ScrollView에 대한 contentMode UIViewContentModeScaleAspectFit을 지정하고 이미지가 뷰보다 작게 표시되는 경우 가로 세로 비율은 정확하지만 이미지의 중심에 있고 높이는 이전 방향의 높이입니다.

ScrollView에 대한 UIViewContentModeScaleAspectFill의 contentMode를 지정하면 모든 것이 올바르게 표시되지만 scrollView를 종료하면 View가 실제로 화면에 맞게 이미지 크기를 조정하므로 사용중인 줌 데이터가 제대로 변환되지 않습니다. .

장치 방향이 변경되었을 때 UIScrollView의 "기본 크기"를 새 프레임 크기로 설정하려면 어떻게해야합니까? 또는 내가 설정해야 할 부동산을 놓치고 있습니까?

답변

1

스크롤보기에서 콘텐츠 크기를 업데이트하지 않는 것 같습니다. 당신이

+0

답변 주셔서 감사합니다, 불행히도 나는 몇 가지 다른 장소에서 contentSize 속성을 수정하려고 시도하고 차이를 만드는 것 같지 않습니다. 전반적으로 내가 바꿀 필요가있는 것처럼 보입니다. 나는 그것을 어떻게하면 좋을지 행동을 취할 수는 없습니다. – snctln

+1

옵션으로 노는 하루가 지나면 문제가 해결되어 결국 문제가되었습니다. scrollview의 contentSize를 설정하고 scrollview의 프레임을 빈 공간의 전체 크기로 설정하고 이미지 뷰의 프레임을 scrollview의 프레임으로 설정해야했습니다. – snctln

+0

쿨! 다행 이군. – idz

0

올바르게 이해하면 UIScrollView에서 zoomToRect:animated: 메서드를 사용할 수 있습니다. 그런 다음 확대/축소를 이미지 크기로 설정할 수 있습니다.

+0

나는이 시도주고 당신이 어떻게 작동하는지 알려 드릴 것입니다

scrollView.contentSize = newImageSize; 

희망 같은 것을 할 필요가있다. 대답을 주셔서 감사합니다 – snctln

관련 문제