3

のアクションを作成するのは簡単です。InterfaceBuilderのキャンバス上のボタンをコードの一部(アシスタントエディター内)にドラッグするUIButtonだけです。Ctrl@implementation

しかし、どうUIImageViewですか?ユーザーがこの画像(実際には見栄えの良いアイコン)をタップした場合、何かを実行しますが、Ctrlドラッグは何も実行しないため、アクションを追加するにはどうすればよいですか?

4

3 に答える 3

8
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] 
                                     initWithTarget:self 
                                     action:@selector(actionHandleTapOnImageView)];
[singleTap setNumberOfTapsRequired:1];
originalImageView.userInteractionEnabled = YES;
[originalImageView addGestureRecognizer:singleTap];
[singleTap release];




-(void)actionHandleTapOnImageView
{
NSLog(@"actionHandleTapOnImageView");
}
于 2012-05-21T03:25:26.210 に答える
2

UIImageView の親 UIViewController で touchesBegan メッセージを処理する必要があります。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {    
    UITouch *touch = [touches anyObject];
    if ([touch view] == myImageView) {
        [self handleTapOnImageView];  // <-- Handle it!
    }
}

また、UIImageView の「User Interaction Enabled」プロパティが true であることを確認してください。

于 2012-05-20T21:14:46.350 に答える
1

または、UIImageView の場合と同じように、実際に UIButton を使用してそのイメージを設定することもできます。UIImageView でジェスチャ ハンドラーを手動で記述する必要はありません。

于 2012-05-22T21:36:56.933 に答える