我有一个拖放UIView
功能的应用程序。我应该只让3次拖拽而不是更多。如何跟踪拖动的数量?我尝试在touchesBegan()
中递增计数器,但计数器在点击视图时也会增加。我希望只有在拖动视图时才能增加它。您还可以提供一个片段,用于将小UIView
拖放到顶部的另一个视图中。我不知道我是否使用了正确的方法。
我的代码:
(void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
[self.view setMultipleTouchEnabled:NO];
UITouch *touch = [touches anyObject];
if ([touch view] == option1View || [touch view] == option2View ||
[touch view] == option3View ||[touch view] == option4View) {
CGRect frame = [[touch view] frame];
if(counter == 1){
frame.origin.x = 10;
frame.origin.y = 90;
}
[[touch view] setFrame:frame];
我在触摸开始时增加了我的计数器。我检查了如果条件为3例计数器
答案 0 :(得分:0)
Apple有一个手势识别器完全用于拖动。它是UIPangestureRecognizer
。它只识别平移手势而不是点击或其他东西。
您可以更轻松地管理平移/拖动手势,然后使用touchesBegan()
等...
来自Doc:
所有手指抬起时UIGestureRecognizerStateEnded
结束。
您可以检查状态并增加计数器。