¿Mi button personalizado no está haciendo clic en iCarousel iOS?

En mi ejemplo, estoy usando iCarousel en el que bash expandir la image onclick en ella. Lo que he hecho, después de que la image se expande, estoy agregando backButton en la esquina inferior derecha de la view para que pueda volver a la vista original. Pero ese button no recibe clic en el evento. Donde estoy yendo mal

aquí está mi código

 - (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:@"networkingucebuutton.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]; } 

El button probablemente esté fuera de los límites de su supervisión. Las vistas de iOS se pueden dibujar fuera de sus límites de supervisión, pero no recibirán events táctiles fuera de esos límites.

Si el button está dentro del carrusel, intente habilitar clipsToBounds en la vista iCarousel para probar la teoría. Si está dentro de una vista de elemento de carrusel, intente habilitar clipsToBounds en las vistas de elementos de iCarousel.

Si está dentro del carrusel, muévelo hacia afuera o simplemente haz más grande el marco del carrusel. Pero si está dentro de una vista de elementos, no puede animarse fácilmente haciendo que las vistas de carrusel individuales sean más grandes debido a la forma en que iCarousel funciona internamente.

En ese caso, para solucionarlo, sugiero dibujar su vista ampliada delante del carrusel en lugar de dentro de él. Para que sea más fácil animar, puede animar el zoom de la image mientras está dentro del carrusel como lo está haciendo actualmente, pero luego mueva la vista al frente de la jerarquía de supervisión al final de la animation para que el usuario no vea la image pasar a otra cosa.

También tuve el mismo problema, pero lo he resuelto con el código siguiente.

 view.userInteractionEnabled = YES; 

view = tu elemento de vista del carrusel

O

 [yourButton.superview setUserInteractionEnabled:YES]; 

Espero que ayude a los demás.

¡¡¡¡aclamaciones!!!!