0

画像ビューが 1 つあり、その上に画像を設定します。その画像のonclickでその画像のクローズアップビューを開きたいです。どうすればこれを達成できますか? 何か案が

4

4 に答える 4

0

以下の手順に従ってください。

  1. 以下のようにタップジェスチャを追加しUIImageViewます。

    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap :)]; tap.cancelsTouchesInView = YES; tap.numberOfTapsRequired = 1; tap.delegate = self; [imageView addGestureRecognizer:tap]; [タップリリース];

    //メソッドを処理します

    • (void)handleImageTap:(UIGestureRecognizer *)gestureRecognizer{//画像をクリックしたクローズアップビュー}
  2. のクラスを1つ作成しますUIViewController。その中のオブジェクトを取得し、 IBOutletUIImageViewを使用してXIBファイルに接続し、プロパティとしてUIImageオブジェクトを作成します。

  3. 関数内にUIViewControllerオブジェクトを作成し- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer、現在のオブジェクトまたは元のオブジェクトをパスの画像パスからコントローラーの画像プロパティに設定します。
  4. viewDidLoadコントローラクラスのメソッドで、プロパティimageをUIImageViewのimageプロパティに設定します。

この助けを願っています。

于 2012-08-30T06:05:29.737 に答える
0

Princeからの回答は正解です。メソッドでImageViewフレームを変更して、ImageViewにアニメーション化する必要があります。

- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer 
{
// your closeup view here on image click
[yourImageView setFrame:CGRectMake(x, y, width, height)];

}

CATransitionポップアップのようにするためにを使用してアニメーションを追加できます。

于 2012-08-30T06:07:37.860 に答える
0

最初にこれを行います:

imageView.userInteractionEnabled = YES;

もう 1 つのことは、yourViewController の .h に UIGestureRecognizerDelegate を追加することです。

@interface yourViewController : UIViewController<UIGestureRecognizerDelegate>
#import <QuartzCore/QuartzCore.h>

imageView に UITapGestureRecognizer を追加します。

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap:)];
    tap.cancelsTouchesInView = YES;
    tap.numberOfTapsRequired = 1;
    tap.delegate = self;
    [imageView addGestureRecognizer:tap];
    [tap release];

// handle method
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer {
   // your closeup view here on image click
   UIImageView *imgPopView = [UIImageView alloc]initWithFrame:self.view.frame];
   // Add image in imgPopView
   [self.view addSubView:imgPopView];

   // instantaneously make the image view small (scaled to 1% of its actual size)
   imgPopView.transform = CGAffineTransformMakeScale(0.01, 0.01);
  [UIView animateWithDuration:0.4 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
    // animate it to the identity transform (100% scale)
    iimgPopView.transform = CGAffineTransformIdentity;
  } completion:^(BOOL finished){
    // if you want to do something once the animation finishes, put it here
  }];

}
于 2012-08-30T05:52:44.990 に答える
0

こんにちは、これを行うには複数のことができます

  1. imageViewの上にカスタムタイプのボタンを作成し、ボタンをクリックすると、好きなことを実行できます。

  2. Touch begin delegate を使用すると、画面上のどこに触れたかを特定し、タッチ座標が画像であることを確認できます。

  3. を使用してGestureRecognizerいます。

于 2012-08-30T05:56:09.270 に答える