0

アプリのアプリケーションにimageviewズームを実装しました。ビューの右上にandscrollviewを設定したい。しかし、そこはズームしていません。ズームの中心に置いたとき。scrollviewimageviewview

コードを以下に示します

@interface przoomViewController : UIViewController<UIScrollViewDelegate> 

{     
    IBOutlet UIScrollView *scrollView;
    IBOutlet UIImageView  *image;    
}

    -(void)viewDidLoad
{
    [image setUserInteractionEnabled:YES];
    [scrollView addSubview:image];
    scrollView.scrollEnabled = YES;
    scrollView.minimumZoomScale=1.0;
    scrollView.maximumZoomScale=4.0;
    [scrollView setContentSize:CGSizeMake(320, 180)];
    scrollView.delegate=self;

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

私を助けてください。

4

2 に答える 2

0

アプリに画像ズームを実装しました。scrollviewDelegateメソッドを試してください

- (void)scrollViewDidZoom:(UIScrollView *)scrollView 
{
  // The scroll view has zoomed, so we need to re-center the contents
  [self centerScrollViewContents];
}

- (void)centerScrollViewContents 
{
  CGSize boundsSize = zoomingScrollView.bounds.size;
  CGRect contentsFrame = ZImageView.frame;

  if (contentsFrame.size.width < boundsSize.width) 
  {
    contentsFrame.origin.x = (boundsSize.width - contentsFrame.size.width) / 2.0f;
  } 
  else 
  {
    contentsFrame.origin.x = 0.0f;
  }

  if (contentsFrame.size.height < boundsSize.height) 
  {
    contentsFrame.origin.y = (boundsSize.height - contentsFrame.size.height) / 2.0f;
  } 
  else 
  {
    contentsFrame.origin.y = 0.0f;
  }

  ZImageView.frame = contentsFrame;
}

imageViewでuserInterActionを有効に設定する必要はありません。これで問題が解決しない場合は、実装を共有します。

于 2012-12-18T06:14:13.373 に答える
0

以下に示すように、ズームを開始するには、zoomScaleプロパティの値を設定する必要があります。scrollview

scrollView.zoomScale=1.0; // this will enable zooming.
于 2012-12-18T05:54:58.803 に答える