无法在 iOS 6 上缩放 UIScrollView

Posted

技术标签:

【中文标题】无法在 iOS 6 上缩放 UIScrollView【英文标题】:Can't zoom UIScrollView on iOS 6 【发布时间】:2012-12-23 15:41:50 【问题描述】:

这是我的 .m 代码。

#import "ScrollZoomViewController.h"

@interface ScrollZoomViewController () <UIScrollViewDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@end

@implementation ScrollZoomViewController

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
    NSLog(@"zooming");
    return self.imageView;


- (void)viewDidLoad 
    [super viewDidLoad];
    self.scrollView.minimumZoomScale = 0.5f;
    self.scrollView.maximumZoomScale = 5.0f;
    self.scrollView.delegate = self;

    self.imageView.frame = CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
    self.scrollView.contentSize = self.imageView.image.size;

我正在使用 Xcode 4.5 和 ios 6.0 并且 AutoLayout 已关闭。

图像可以滚动但不能缩放。这是因为 iOS 6 吗?

【问题讨论】:

是的,在viewDidLoad中设置delegate,有什么问题? 【参考方案1】:

您需要设置 zoomScale 属性的值才能开始缩放。 在设置 scrollView 的 contentSize 后添加以下行。

self.scrollView.zoomScale = minimumZoomScale;

【讨论】:

不起作用。我在 viewForZoomingInScrollView 中记录了一些东西,但运行中没有回调。【参考方案2】:

尝试删除此代码: self.scrollView.contentSize = self.imageView.image.size; 并添加更多内容大小,而不是图像大小。

例如:你需要添加 like self.scrollView.contentSize = CGSizeMake(1770, 2346);

希望这会解决。

【讨论】:

以上是关于无法在 iOS 6 上缩放 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

字体无法缩放或适用于 iPhone 6 和 6+

在图像视图上绘制矩形。图像无法正确缩放 - iOS

如何在没有缩放模式的 iPhone 6 上显示 iOS 应用程序

iOS 和 Xcode 6:按钮上的自动布局文本缩放

iphone 6 和 6 plus 尺寸缩放

Capacitor iOS App 无法缩放到全高