1

我知道这已经发布了大约一百万次,但我无法让这个 Scrollview 以它应该的方式工作。我已经遵循了大约四个不同的教程,并在过去两天试图解决这个问题,所以我真的希望有人能帮助我解决这个问题(如果碰巧有另一篇帖子解决了我没有看到的问题,我真的很抱歉)。

我在 Scrollview 中有一个 Imageview,其中包含一张我希望在缩放时可缩放/可滚动的图片。

在我的 WDViewController.h 文件中:

#import <UIKit/UIKit.h>

@interface WDViewController : UIViewController <UIScrollViewDelegate>
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;
@property (nonatomic, retain) IBOutlet UIImageView *img_wd;

@end

在我的 WDViewController.m 文件中:

#import "WDViewController.h"

@implementation WDViewController

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return self.img_wd;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.scrollView.minimumZoomScale=0.5;
    self.scrollView.maximumZoomScale=6.0;
    self.scrollView.delegate=self;
    self.scrollView.contentSize=CGSizeMake(1280, 960);
    self.scrollView.scrollEnabled = true;
    self.scrollView.userInteractionEnabled = true;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

自动布局被禁用,因为我注意到这给 Stack Overflow 上的其他用户带来了问题。我确保在情节提要中启用了用户交互和多点触控。但是当我在模拟器中启动应用程序时,它就坐在那里。无论我捏多少次它都不会缩放。我以为我做了所有的事情,但我一定错过了一个我只是因为某种原因没有看到的步骤。谁能帮我一把?

编辑:在下面的评论之后,这是我现在拥有的代码(对于 WDViewController.m,.h 没有改变):

#import "WDViewController.h"

@implementation WDViewController

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return self.img_wd;
}

- (void)viewDidLoad {
     [super viewDidLoad];
    [self.scrollView addSubview:self.img_wd];
     self.img_wd.frame = CGRectMake(0, 0, 1280, 960);
     self.scrollView.minimumZoomScale=0.5;
     self.scrollView.maximumZoomScale=6.0;
     self.scrollView.delegate=self;
    self.scrollView.contentSize=CGSizeMake(1280, 960);
     self.scrollView.scrollEnabled = true;
     self.scrollView.userInteractionEnabled = true;
    }

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

编辑:在我的手机上测试后,它可以工作。嗯……好吧,谢谢大家。我的模拟器只是拒绝接受它。多么奇怪。

4

3 回答 3

3

只是一种预感:

要捏入 iOS 模拟器,您必须按住选项键。

于 2013-10-28T23:14:27.330 回答
2

在 IB 中查看层次结构:

在 IB 中查看层次结构

滚动视图被拖放到根视图上,并被捕捉到位以填充整个根视图。图像视图被拖放到滚动视图上,并被捕捉到位以填充整个滚动视图。

IB中图像视图的属性:

在此处输入图像描述

所有源代码:

在此处输入图像描述

于 2013-10-28T23:21:30.030 回答
1

您是否将图像视图添加到滚动视图的子视图?[self.scrollView addSubView:self.img_wd]

于 2013-10-28T22:29:15.177 回答