画像ビューが 1 つあり、その上に画像を設定します。その画像のonclickでその画像のクローズアップビューを開きたいです。どうすればこれを達成できますか? 何か案が
4 に答える
以下の手順に従ってください。
以下のようにタップジェスチャを追加し
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{//画像をクリックしたクローズアップビュー}
のクラスを1つ作成します
UIViewController
。その中のオブジェクトを取得し、 IBOutletUIImageView
を使用してXIBファイルに接続し、プロパティとしてUIImageオブジェクトを作成します。- 関数内にUIViewControllerオブジェクトを作成し
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer
、現在のオブジェクトまたは元のオブジェクトをパスの画像パスからコントローラーの画像プロパティに設定します。 viewDidLoad
コントローラクラスのメソッドで、プロパティimageをUIImageViewのimageプロパティに設定します。
この助けを願っています。
Princeからの回答は正解です。メソッドでImageViewフレームを変更して、ImageViewにアニメーション化する必要があります。
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer
{
// your closeup view here on image click
[yourImageView setFrame:CGRectMake(x, y, width, height)];
}
CATransition
ポップアップのようにするためにを使用してアニメーションを追加できます。
最初にこれを行います:
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
}];
}
こんにちは、これを行うには複数のことができます
imageViewの上にカスタムタイプのボタンを作成し、ボタンをクリックすると、好きなことを実行できます。
Touch begin delegate を使用すると、画面上のどこに触れたかを特定し、タッチ座標が画像であることを確認できます。
を使用して
GestureRecognizer
います。