我有一个UIScrollView,里面有一个UIImageView,我想让UIScrollView进行缩放,以使图像适合宽度或高度。我计算图像宽度和高度与屏幕高度和宽度的比率。基于哪个更小我将UIScrollView的zoomScale设置为该值。
我在我的scrollView
中计算这些_heightRatio=frame.size.width/img.size.width;
_widthRatio=frame.size.height/img.size.height;
在我的viewController的viewDidLoad中执行此操作。(photoViewer是我的scrollView,widthRatio和heightRatio是我的scrollView中的变量)
if([photoViewer widthRatio]<[photoViewer heightRatio]){
NSLog(@"if");
photoViewer.zoomScale=[photoViewer widthRatio];
photoViewer.minimumZoomScale=[photoViewer widthRatio];
if([photoViewer widthRatio]>1){
NSLog(@"Width>1");
photoViewer.zoomScale=1;
photoViewer.minimumZoomScale=1;
}
}
else{
NSLog(@"else");
NSLog(@"height: %f",[photoViewer heightRatio]);
photoViewer.zoomScale=[photoViewer heightRatio];
photoViewer.minimumZoomScale=[photoViewer heightRatio];
if ([photoViewer heightRatio]>1) {
NSLog(@"Height>1");
photoViewer.zoomScale=1;
photoViewer.minimumZoomScale=1;
}
}
NSLog(@"Zoom scale: %f",photoViewer.zoomScale);
当我使用某些图像运行它时它工作正常并打印出正确的zoomScale,但是当我用其他图像运行它时,它会打印出1作为zoomScale。
编辑:更新了if-else
编辑:已解决:我感谢大家的帮助!