최소 확대/축소 배율 변경에 대한 응답으로 UIScrollView를 올바르게 업데이트하는 데 문제가 있습니다.UIScrollView가 하위 뷰를 변경 한 후 minimumZoomScale을 준수하지 않습니다.
있는 ScrollView는 하위 뷰로서 UIImageView에 있으며, 상기의 UIImageView의 화상 속성 UIPickerView의 didFinishPickingMediaWithInfo 방법에 응답하여 설정된다 :이 정확하게 화상이 이용 첨가 처음 작동
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *takenImage = [info objectForKey:UIImagePickerControllerOriginalImage];
[self.imageView setImage:takenImage];
[self.imageView setFrame:CGRectMake(self.imageView.frame.origin.x, self.imageView.frame.origin.y, takenImage.size.width, takenImage.size.height)];
[self.scrollView setContentSize:CGSizeMake(takenImage.size.width, takenImage.size.height)];
[self.scrollView setMinimumZoomScale:[self.scrollView frame].size.width/takenImage.size.width];
[self.scrollView setMaximumZoomScale:2.0];
[self.scrollView setZoomScale:[self.scrollView minimumZoomScale] animated:YES];
[self dismissModalViewControllerAnimated:YES];
}
방법. 그러나이 메서드가 다시 트리거 된 경우 - 첫 번째로 동일한 이미지를 추가하는 경우에도 이후 이미지가 전체 크기로 scrollView에 표시되고 축소 할 수 없으며 확대 만 가능합니다.
' scrollView의 contentSize
, zoomScale
, minimumZoomScale
및 maximumZoomScale
을 로그에 덤프했으며 매번 동일합니다. minimumZoomScale
은 매번 올바르게 계산됩니다.
마치 scrollView가 minimumZoomScale
이 1.0으로 다시 그려지는 것처럼 보이며 명시 적으로 설정되어 있다는 사실을 무시합니다. 내가 여기서 빠진 게 분명해?
업데이트 : 나는 문제를 해결 작업 한 이미지 따기가 취소 된 경우있는 ScrollView를 누킹으로 - superView에서 제거한 다음 nil로 설정하십시오. 그런 다음 didFinishPickingMediaWithInfo 메서드가이를 다시 만듭니다. 그것은 작동하지만, 문제를 해결하기 위해 무거운 손잡이처럼 보입니다 ... – TimD