-1

私は問題があります。ズームが機能しないこのコードがあります。

- (void)viewDidLoad {

UIImage *image = [UIImage imageNamed:@"zoomimage.jpeg"];

CGRect yFrame = CGRectMake(0.0, 0.0, 320, 432);

imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, image.size.width, image.size.height)];
[imageView setImage:image];

scrollView = [[UIScrollView alloc] initWithFrame:yFrame];
[scrollView setScrollEnabled:YES];
[scrollView setBackgroundColor:[UIColor blackColor]];
[scrollView setContentSize:CGSizeMake(image.size.width, image.size.height)];
scrollView.minimumZoomScale = 0.4;
scrollView.maximumZoomScale = 4.0;
[scrollView setZoomScale:scrollView.minimumZoomScale];

[self.view addSubview:scrollView];
[self.view bringSubviewToFront:scrollView];

[scrollView addSubview:imageView];

}

4

2 に答える 2

5

まず、scrollview のデリゲートを自分自身に設定します。

scrollView.delegate = self;

次に、このデリゲート メソッドをUIScrollViewクラスに追加して、画像のズームを有効にします。

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
  return imageView;
}
于 2012-07-23T11:30:33.400 に答える
1

これを試して:

.h コントローラー:

@interface MyViewController : UIViewController{

IBOutlet UIScrollView *scrollView; 
UIImageView *imageView;

}

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

.m コントローラー:

@synthesize scrollView, imageView;


-(UIView *)viewForZoomingInScrollView:(UIScrollVi­ew *)scrollView{ 

return imageView;

}

- (void)viewDidLoad
{

UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"YourImageName.png"]]; 
self.imageView = tempImageView; 
[tempImageView release]; 
scrollView.maximumZoomScale = 3.0; 
scrollView.minimumZoomScale = 0.6; 
scrollView.clipsToBounds = YES; 
scrollView.delegate = self; 
[scrollView addSubview:imageView];
}

このコードは私のために働いた:)

于 2013-11-10T17:26:31.350 に答える