我们为按钮上的某些气泡效果制作了此动画,但它阻止了他被点击。如果我们禁用此动画,他将起作用。

我们可以修复它以使其与动画一起使用吗?

 CGRect initi=[[initialPositions objectAtIndex:b.tag] CGRectValue];
        int r1=arc4random()%4;
        int r2=arc4random()%4;
        initi.origin.x+=r1;
        initi.origin.y+=r2;


        [UIView animateWithDuration:0.8 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^
         {
            b.frame=initi;

         }
          completion:^(BOOL completed){    }];

最佳答案

据我所知,该按钮在动画过程中实际上并没有禁用或不可单击。动画开始时,按钮的触摸区域会立即移动到动画结束时按钮所在的位置。这样就感觉在动画过程中该按钮不可单击。

从触摸逻辑的角度来看,按钮只是从A移到B,而A和B之间的动画只是让人眼前一亮。这解释了为什么在两点之间无法触摸。

唯一可行的解​​决方案是滚动自己的动画例程。如果您想走这条路,Ben Bojko撰写的名为The Holy Grail of iOS Animation Intervals?的帖子应为您指明正确的方向。

10-08 01:16