2013-02-20 2 views
2

이미지를 표시하고 사용자가 원하는대로 이미지를 확대/축소하고 팬 할 수있는 간단한보기를 설정하려고합니다. autoLayout이 사용 가능하며 뷰는 UIImageView가 포함 된 UIScrollView로 구성됩니다. 두보기의 크기가 전체 화면에 맞춰집니다.iOS 6 Autolayout - ImageView가 포함 된 ScrollView가 제대로 확대되지 않음

애플의 ScrollViewSuite ("1_TapToZoom"샘플)의 논리와 코드를 사용했는데 모든 것이 정확 해 보입니다. 그러나 뷰를 집어 넣을 때 ScrollView/ImageView가 모두 왜곡되어 제대로 응답하지 않습니다. 행동을 설명하기는 어렵지만 그냥 "펑키"라고 부를 수 있습니다. 크기와면이 일관되게 변하지 않습니다.

제 생각에 이것은 자동 레이아웃 제약 조건과 관련이 있습니다. 누구에게이 제안/수정 사항이 있습니까?

답변

0

발생하는 문제는 확대/축소 과정 중에 이미지 뷰의 위치가 변경되는 것입니다. 줌 중에 이미지 뷰의 원점 위치가 음수 값으로 변경됩니다. 나는 이것이 육포 운동이 일어나는 이유라고 생각한다. 또한 확대/축소가 완료된 후에도 imageView는 잘못된 위치에 있으므로 스크롤이 오프셋 된 것처럼 보입니다.

-(void) scrollViewDidZoom:(UIScrollView *)scrollView을 구현하고이 시간 동안 UIImageView의 프레임을 기록하면 그 원점이 변경된 것을 볼 수 있습니다.

그리고있는 contentView의 프레임을 변경뿐만 아니라 https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/ch20p573scrollViewAutoLayout/ch20p573scrollViewAutoLayout/ViewController.m

-(void) scrollViewDidZoom:(UIScrollView *)scrollView { 
    CGRect cFrame = self.contentView.frame; 
    cFrame.origin = CGPointZero; 
    self.contentView.frame = cFrame; 
} 
을 확대하면서 :

나는 일이 같은 전략을 구현하여 해결하고 결국

관련 문제