放大UIScrollView无法正常工作

时间:2011-08-10 10:34:10

标签: ios uiscrollview zooming

有人可以帮助我使用UIScrollView进行缩放吗?

我正在尝试添加从URL检索到的三个图像,并使用UIScrollView显示它。我可以做显示部分,但缩放不起作用。我希望有人可以给我看一些灯。

我的.h文件

@interface TestScrollViewViewController : UIViewController <UIScrollViewDelegate>{

IBOutlet UIScrollView *scrollView;
UIImageView *subview;

}

@property (nonatomic, retain) UIScrollView *scrollView;
@property (nonatomic, retain) UIImageView *subview;

@end

.m文件

- (void)viewDidLoad {
  [super viewDidLoad];

    UIImage *page1 = [[UIImage alloc] initWithData:[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://abc.com/001.jpg"]]];
    UIImage *page2 = [[UIImage alloc] initWithData:[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://abc.com/002.jpg"]]];
    UIImage *page3 = [[UIImage alloc] initWithData:[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://abc.com/003.jpg"]]];


    NSArray *images = [NSArray arrayWithObjects: page1, page2, page3, nil];
    for (int i = 0; i < images.count; i++) {
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    subview = [[UIImageView alloc] initWithFrame:frame];
    subview.image = [images objectAtIndex:i];

    self.scrollView.minimumZoomScale=0.5;
    self.scrollView.maximumZoomScale=6.0;
    self.scrollView.delegate=self;

    [self.scrollView addSubview:subview];   

    [subview release];
}

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * images.count, self.scrollView.frame.size.height);

}

这是viewForZoomingInScrollView方法

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

真的希望有人可以提供帮助。感谢。

劳伦斯

2 个答案:

答案 0 :(得分:17)

替换

return self.scrollView;

使用

return subview;

答案 1 :(得分:3)

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

这就是错的。你不能在这里返回滚动视图本身,你必须返回它想要缩放的子视图。