我的滚动视图中有一个imageview,我为我的uiscrollview添加了一个轻击手势。
只有图像视图区域才能响应敲击手势。
为什么当我设置scrollview的backgroudcolor属性时,整个scrollview都可以响应tap手势。
这是我的代码。
UIImageView * imgview=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bizhi1.png"]];
imgview.frame=CGRectMake(0, 140, 320, 200);
UIScrollView * scrollview=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[scrollview addSubview:imgview];
//when i set the backgroudcolor,then the whole scrollview can respond tap gesture
//scrollview.layer.backgroundColor=[UIColor redColor].CGColor;
//add a TapGesture for scrollview
UITapGestureRecognizer * tapGesture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(SwitchTabBarHidden)];
[scrollview addGestureRecognizer:tapGesture];
[tapGesture release];
[imgview release];
[self.view addSubview:scrollview];
[scrollview release];
答案 0 :(得分:2)
我确定这段代码是正确的,因为我已经实现了这段代码,因此无需设置scrollview的backgroundColor
属性。
答案 1 :(得分:1)
确保UIImageView上的userInteractionEnabled设置为YES:
frame.userInteractionEnabled = YES;