-4

私はiphoneに慣れていないので、スクロールビューで画像を自動スクロールするプロジェクトに取り組んでいます。また、画像のズームインとズームアウトを行う必要があります。これは可能ですか? はいの場合、どのように実行できますか。コードを提案してください。

ありがとう。

4

1 に答える 1

1
- (void)viewDidLoad
{
 [super viewDidLoad];

// 1
   UIImage *image = [UIImage imageNamed:@"photo1.png"];
   self.imageView = [[UIImageView alloc] initWithImage:image];
   self.imageView.frame = (CGRect){.origin=CGPointMake(0.0f, 0.0f), .size=image.size};
  [self.scrollView addSubview:self.imageView];

// 2
   self.scrollView.contentSize = image.size; 
  }

viewDidLoad

  1. 最初に、プロジェクトに追加した photo1.png 画像を使用して画像ビューを作成する必要があります。画像ビュー フレーム (サイズと位置) を設定して、画像のサイズになり、親内のポイント 0,0 に配置します。 . 最後に、画像ビューがスクロール ビューのサブビューとして追加されます。

  2. スクロール ビューに含まれるコンテンツのサイズを伝える必要があります。これにより、水平方向と垂直方向にどれだけスクロールできるかがわかります。この場合、それは画像のサイズです。

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];

// 1
CGRect scrollViewFrame = self.scrollView.frame;
CGFloat scaleWidth = scrollViewFrame.size.width / self.scrollView.contentSize.width;
CGFloat scaleHeight = scrollViewFrame.size.height / self.scrollView.contentSize.height;
CGFloat minScale = MIN(scaleWidth, scaleHeight);
self.scrollView.minimumZoomScale = minScale;

// 2
self.scrollView.maximumZoomScale = 1.0f;
self.scrollView.zoomScale = minScale;

}

viewWillAppear

  1. 次に、スクロール ビューの最小ズーム スケールを計算する必要があります。ズーム スケール 1 は、コンテンツが通常のサイズで表示されることを意味します。ズーム スケールが 1 未満の場合はコンテンツがズーム アウトされていることを示し、ズーム スケールが 1 より大きい場合はコンテンツがズーム インされていることを示します。

  2. 画像の解像度がサポートできる以上に拡大すると画像がぼやけて見えるため、最大ズーム スケールを 1 に設定します。画像が完全に縮小されるように、最初のズーム スケールを最小に設定します。

于 2013-03-05T10:57:44.187 に答える