我的自定义button没有得到点击iCarousel iOS?

在我的例子中,我正在使用iCarousel在其中我试图扩大图像点击它? 我做了什么,图像展开后,我在view右下angular添加backButton ,以便我可以返回到原始视图。 但是那个button没有得到点击事件。 我哪里错了?

这是我的代码。

 - (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view{ UIButton *button = (UIButton *)view; UIView *buttonBackView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 475, 300)]; [buttonBackView setBackgroundColor:[UIColor blackColor]]; button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(0.0f, 0.0f, 475,300); UIImage *image=[_rareCSNYArrayImageItems objectAtIndex:index]; [button setBackgroundImage:image forState:UIControlStateNormal]; [button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; [buttonBackView addSubview:button]; return buttonBackView; } - (void)buttonTapped:(UIButton *)sender { UIButton *button=(UIButton*)sender; [button setFrame:CGRectMake(0,0,675,400)]; [button.superview setFrame:CGRectMake(-100, -70, 675, 500)]; UIButton *buttonReduce=[[UIButton alloc] initWithFrame:CGRectMake(580, 405, 85, 85)]; [buttonReduce setBackgroundColor:[UIColor clearColor]]; [buttonReduce setBackgroundImage:[UIImage imageNamed:@"reducebuutton.png" ] forState:UIControlStateNormal]; [buttonReduce addTarget:self action:@selector(buttonReduceTapped: ) forControlEvents:UIControlEventTouchUpInside]; [button.superview addSubview:buttonReduce]; [self.view bringSubviewToFront:buttonReduce]; } - (void)buttonReduceTapped:(UIButton *)sender{ UIButton *button=(UIButton*)sender; NSLog(@"ButtonClicked"); [button.superview setFrame:CGRectMake(0, 0, 475, 300)]; [button removeFromSuperview]; } 

该button可能超出了其超视图的界限。 iOS视图可以绘制在超视界之外,但不会在这些界限之外接收触摸事件。

如果button位于传送带内部,请尝试在iCarousel视图上启用clipsToBounds以testing理论。 如果它位于传送带项目视图内,请尝试在iCarousel项目视图上启用clipsToBounds。

如果在传送带内部,请将其移动到外部,或者只是将传送带框架放大一些。 但是,如果它是在一个项目视图内部,由于iCarousel在内部工作的方式,您无法轻松制作个人轮播视图。

在这种情况下,为了解决这个问题,我build议在旋转木马前面绘制扩展视图,而不是在旋转木马的内部。 为了使animation变得更加容易,可以像在当前那样在传送带内部对图像进行缩放animation,但是随后将视图移动到animation结尾处的超级视图层次结构的前面,因此用户看不到切换。

我也有同样的问题,但我已经解决了下面的代码。

 view.userInteractionEnabled = YES; 

view =你的转盘视图项目

要么

 [yourButton.superview setUserInteractionEnabled:YES]; 

希望对别人有帮助。

干杯!!!!