2009-11-11 79 views
1

我是UIButton的子类并检测手指移动,如果用户以某种方式滑动他的手指,我将弹出一个UIAlerView。UIButton子类在弹出后不断突出显示UIAlertView

除了在解除UIAlertView ...之后,当用户下一次触摸UIButton时,按钮会转到高亮显示的状态并卡在那里,即使在没有手指触摸的情况下也会持续高亮显示。

再次按下按钮,UIButton开始正常运行(只在触摸时突出显示)。

所以我只能假设在刷卡过程中发出警报,搞砸了事件的过程,touchesEnded从不发射也许?

如果任何人有任何想法如何重新设置按钮后刷按钮,以便它的行为应该,我将不胜感激。

回答

1

您是否将您的状态重置为touchesCancelled?

+0

我没有实施touchesCancelled。这可能是问题,我现在检查... 我试图重置touchesMoved状态。 – user139816 2009-11-11 18:47:23

+0

OK,所以在执行touchesCancelled时,我应该如何“重置状态”?目前我正在尝试 self.selected = NO; 和 [self sendActionsForControlEvents:UIControlEventTouchCancel]; 但我仍然没有太多运气。 – user139816 2009-11-11 19:36:19