1

私はいくつかの画像を持つアプリを開発しようとしているので、次のようにしました:

@property (nonatomic, retain) IBOutletCollection(UIImageView)NSArray* photos;

UIImageViewそして、これらの配列を次のように埋めています:

[self.photos[i] setImage:[UIImage imageWithData:data]];

ここで、クリックされた画像に関してユーザーを別のビューにリダイレクトするセグエを実行する必要があります。

例 :

20 枚の画像とビューがあるとします。ユーザーが 1 番目の画像をクリックするとビューにリダイレクトされ、2 番目の画像をクリックすると同じビューにリダイレクトされます。

4

3 に答える 3

3

UIImageViewにマスクボタンを追加してユーザーのタッチに応答するのが好きですが、UIImageViewのuserInteractionEnabledがNOデフォルトであることに注意してください。

以下はサンプルコードです。実際には、ボタンは常に透明に設定されています。

CGRect imageRect = (CGRect){100, 100, 100, 100};
UIImageView *imageView = [[[UIImageView alloc] initWithFrame:imageRect] autorelease];
imageView.backgroundColor = [UIColor yellowColor];
[self.view addSubview:imageView];
imageView.userInteractionEnabled = YES;

UIButton *maskBtn = [UIButton buttonWithType:UIButtonTypeCustom];
maskBtn.frame = imageView.bounds;
maskBtn.backgroundColor = [UIColor redColor];
[maskBtn addTarget:self action:@selector(maskBtnDidClick:) forControlEvents:UIControlEventTouchUpInside];
[imageView addSubview:maskBtn];
于 2013-03-08T11:02:47.213 に答える
1

UIImageView を使用している場合、タップを処理するには、UITapGestureRecognizer を作成し、それらにセレクター メソッドを与え、それらを imageViews に追加し、それぞれのセレクターでタップを処理する必要があります。

より良い方法は、UIImageView の代わりにカスタム UIButton を使用し、それらをストーリーボード/xib から直接アクションに接続し、それらのアクションでボタン プレス イベントを処理することです。したがって、各 imageView に UITapGestures を追加することを防ぐことができます。

于 2013-02-09T21:10:01.460 に答える
0

3つの方法があります
1)TapGesturesを使用できます
2)UIControlを使用でき、UIControlでImageViewを追加し、セレクターをUIControl
に追加します3)画像をカスタムUIButtonに追加します

于 2013-02-10T04:28:39.280 に答える