关于uiscrollview中的点击手势

时间:2013-05-09 04:34:52

标签: iphone ios uiscrollview

我的滚动视图中有一个imageview,我为我的uiscrollview添加了一个轻击手势。 enter image description here

只有图像视图区域才能响应敲击手势。

为什么当我设置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];

2 个答案:

答案 0 :(得分:2)

我确定这段代码是正确的,因为我已经实现了这段代码,因此无需设置scrollview的backgroundColor属性。

答案 1 :(得分:1)

确保UIImageView上的userInteractionEnabled设置为YES:

frame.userInteractionEnabled = YES;