我有一个图像,我想加载到图像视图,并将minimumZoomScale和zoomScale设置为一个aspectFill,比如我计算的比例,如下所示:
// configure the map image scroll view
iImageSize = CGSizeMake(iImageView.bounds.size.width, iImageView.bounds.size.height);
iScrollView.minimumZoomScale = iScrollView.bounds.size.height / iImageSize.height;
iScrollView.maximumZoomScale = 2;
iScrollView.zoomScale = iScrollView.minimumZoomScale;
iScrollView.contentOffset = CGPointMake(0, 0);
iScrollView.clipsToBounds = YES;
Run Code Online (Sandbox Code Playgroud)
iScrollView大小为450 x 320px,iImageSize为1600 x 1960px.
手动执行minimumZoomScale数学:450/1960 = 0.22959184.系统确定0.234693885(???).
但要使窗口适合450px空间,两个数字都不起作用(!!!).我手动尝试,发现0.207是正确的数字(这将转换为2174 xp的图像高度或者UIScrollView高度为406px).
有关信息:UIScrollview屏幕为450px,即480px减去状态栏高度(10),减去UITabBar高度(20)
关于这种不端行为的任何线索?
Avi*_*ash -1
对于简单的放大/缩小,我通常使用下面的代码。minimumZoomScale= 1 将初始缩放设置为当前图像大小。我给出了maximumZoomScale = 10,它可以根据图像大小和容器帧大小的实际比率来计算。
[scrollView addSubview: iImageView];
scrollView.contentSize = iImageView.frame.size;
scrollView.minimumZoomScale = 1.0;
scrollView.maximumZoomScale = 10;
[iImageView setFrame:CGRectMake(0, 0, 450, 320)];
[scrollView scrollRectToVisible:iImageView.frame animated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3926 次 |
| 最近记录: |