无法获取UIScrollView进行缩放和滚动

时间:2013-10-28 22:04:39

标签: ios uiscrollview

我知道这已被发布了大约一百万次,但我不能为我的生活让这个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

禁用Autolayout,因为我注意到Stack Overflow上的其他用户遇到了问题。我确保在Storyboard中启用了User Interaction和Multiple Touch。但是当我在模拟器中启动应用程序时,它就在那里。无论我捏多少次都不会变焦。我以为我做了一切,但我一定错过了一个我原本没有看到的一步。任何人都可以帮我一把吗?

编辑:在下面的评论之后,这是我现在的代码(对于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

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

3 个答案:

答案 0 :(得分:3)

只是预感:

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

答案 1 :(得分:2)

在IB中查看层次结构:

View hierarchy in IB

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

IB中图像视图的属性:

enter image description here

所有源代码:

enter image description here

答案 2 :(得分:1)

您是否将图片视图添加到scrollview的子视图中? [self.scrollView addSubView:self.img_wd]