我在一个子视图视图上有一个按钮(为了便于讨论,子视图是一个红色正方形),当用户按住该按钮时,红色正方形显示为半透明。
我有一个连接到此方法的按钮:
-(IBAction)peekToggle:(id)sendr{
NSLog(@"TOGGLE");
if(self.view.alpha ==1)self.view.alpha = 0.1;
else self.view.alpha = 1;
}通过行为:touch up inside,touch up outside和touch down。因此,当我按住按钮时,红色框变得半透明,当我松开手指时,它又变得不透明。这一开始可以很好地工作,但是如果我按住按钮超过1秒,按钮不会注册touch up (释放手指)。
注意:我在父视图(子视图的父视图而不是按钮的父视图)上有一个longPressGestureRecogniser,但它不会被触发(预期的)。
我非常确定我长时间按下按钮会被注册为touch cancel,然后使touch up事件失效。
我如何防止/解决这个问题?
我可以停止touch Cancel触发吗?(即使我已经注册了控件状态,这个事件似乎也会触发)或者在touch Cancel事件中,告诉按钮保持/开始注册事件?
发布于 2011-02-15 22:01:06
当手势识别器被触发时,您可以使用UIGestureRecognizerDelegate接口进行微调。
https://stackoverflow.com/questions/5003719
复制相似问题