iOS 解决 UIButton 执行动画后点击失效问题

button 执行CAKeyframeAnimation动画后,发现点击事件不能响应了!查看视图的层级,发现 button 的位置居然还是在执行动画前的位置上(手机上看到的是执行动画后的位置).在网上查找了一下,终于找到了原因,此处有链接不解释(感谢大神).

先上执行动画后的图(紫色的按钮):


iOS 解决 UIButton 执行动画后点击失效问题_第1张图片
执行动画后按钮图片.png

层级视图(紫色的按钮):

iOS 解决 UIButton 执行动画后点击失效问题_第2张图片
执行动画后层级视图.png

开始解决问题:在父视图添加点击手势,然后手势触发的方法里面进行处理如下.

- (void)categoryTap:(UITapGestureRecognizer*)sender
{
 CGPoint touchPoint = [sender locationInView:bgView];
    if ([self.gameBtn.layer.presentationLayer hitTest:touchPoint])
 {
        
   }
}

结束!

你可能感兴趣的:(iOS 解决 UIButton 执行动画后点击失效问题)