我有麻煩UIPanGestureRecognizer工作時,我有我的手指移動,因爲它只是調用的選擇,我希望它保持通話選擇,即使我的手指是站在同一個地方。UIPanGestureRecognizer停止調用選擇
有在頂部的屏幕上一個4個對象,一個在右側,一個在左側和一個在底部。我在屏幕的中心有一個對象(這是我用panGesture移動的對象)。當這個物體接觸到其他物體時,我希望它給我一個日誌,當它接觸時它會起作用,但如果我將手指放在同一個地方,它會停下來給我日誌,如果我移動一點,它就會再次給我日誌。
反正我有可以保持在同一個地方打電話,即使我的手指的選擇?
這裏是一個代碼示例:
- (void)moveObject:(UIPanGestureRecognizer *)sender
{
CGPoint translation = [sender translationInView:self.limiteDirecional];
[sender setTranslation:CGPointMake(0, 0) inView:self.limiteDirecional];
CGPoint center = sender.view.center;
center.y += translation.y;
int yMin = 0;
int yMax = self.limiteDirecional.frame.size.height;
if (center.y < yMin || center.y > yMax)
return;
sender.view.center = center;
center.x += translation.x;
int xMin = self.limiteDirecional.frame.size.width;
int xMax = 0;
if (center.x > xMin || center.x < xMax)
return;
sender.view.center = center;
if (CGRectIntersectsRect(sender.view.frame,self.Top.frame)) {
NSLog(@"TOP");
}
if (CGRectIntersectsRect(sender.view.frame,self.Botton.frame)) {
NSLog(@"BOTTON");
}
if (CGRectIntersectsRect(sender.view.frame,self.Right.frame)) {
NSLog(@"RIGHT");
}
if (CGRectIntersectsRect(sender.view.frame,self.Left.frame)) {
NSLog(@" LEFT");
}
if (sender.state == UIGestureRecognizerStateEnded) {
sender.view.center = CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2);
}
}
的手勢識別,本身不會那樣做。您可以使用計時器或'CADisplayLink'或其他類似的東西,但要提出解決方案,瞭解您要解決的問題很有用。當觸摸沒有變化時,通過獲取觸摸變化的通知來解決什麼問題? – Rob 2013-02-13 19:28:01
對!這工作就像一個操縱桿,如果你在與「傳感器」應該將我的精靈接觸拖動「MainObject」,但如果我持有「MainObject」即使是觸摸「傳感器」停止移動我的精靈!我必須輕輕地保持移動... – rihurla 2013-02-13 20:02:33