2011-08-10 4 views
8

UIScrollViewをズームする際に助けてもらえますか?UIScrollViewをズームインすると機能しません

URLから取得した3つの画像を追加して、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; 
} 

では本当に誰かを助けることができると思います。ありがとう。

ローレンス

+1

問題はまだ私もそのために同じ+1を考えるこの質問http://stackoverflow.com/questions/6566996/with-uiscrollview-zoom-images-in-layout-frame/6567199#6567199 – rptwsthi

答えて

16

は間違って何

return subview; 
+0

を参照してください解決しない場合: ) – rptwsthi

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

return self.scrollView; 

を交換してください。ここでスクロールビュー自体を返すことはできません。ズームしたいサブビューを返さなければなりません。

+1

お返事ありがとうございました。私はズームを今すぐ行うことができますが、最後の画像、これがどうして起こるのか、それをどう修正するのかということだけで動作しますか? – LawrenceH

関連する問題