我打得到一个UIScrollView响应于最小缩放比例的变化正确更新的问题。
滚动视图具有一个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];
}
此正常工作的第一次的图像使用此方法加入。 然而,如果这种方法被再次触发 - 即使是相同的图像添加为第一次 - 随后的图像在滚动视图全尺寸显示,而不能缩小 - 只有在放大。
我甩了contentSize
, zoomScale
, minimumZoomScale
和maximumZoomScale
的滚动型到日志中,他们每次都相同。 所述minimumZoomScale
正在每次正确地计算出。
这是因为如果正在使用重绘滚动视图minimumZoomScale
1.0,无视它已经明确设置的事实。 有什么明显的是,我在这里失踪?