UITapGestureRecognizer 的使用,判斷點擊哪個控件
UITapGestureRecognizer 的使用,判斷點擊哪個控件
說明:_backgroundImg 和_userHeaderImg都在_headerView上,給_headerView添加手勢,判斷用戶點擊是在_userHeaderImg還是_backgroundImg上,一個是修改頭像,一個是修改背景圖
//添加手勢
UITapGestureRecognizer *backgroundTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(changeHeaderImageAction:)];
[_headerView addGestureRecognizer:backgroundTap];
-(void)changeHeaderImageAction :(UITapGestureRecognizer *)tap {
CGPoint touchPoint = [tap locationInView:_headerView];
CGRect userHeaderImageRect = [_headerView convertRect:_userHeaderImg.bounds fromView:_userHeaderImg];
if (CGRectContainsPoint(userHeaderImageRect, touchPoint)) {
//clicked user header image.
_isHeaderImg=@"1";
[self setPhotoOrTakePictureAction];
return;
}
CGRect backgroundImageRect = [_backgroundImg convertRect:_backgroundImg.bounds toView:_headerView];
if (CGRectContainsPoint(backgroundImageRect, touchPoint)) {
//clicked back image.
_isHeaderImg=@"0";
[self setPhotoOrTakePictureAction];
}
}