使物業爲您的手勢:
@property (nonatomic, strong) UILongPressGestureRecognizer *longPress;
初始化:
self.longPress = [UILongPressGestureRecognizer initWithTarget:self action:@selector(gestureRecognizedStateDidChanged:)];
self.longPress.minimumPressDuration = 0.03;
你的視圖控制器類應該實現<UIGestureRecognizerDelegate>
協議:
self.longPress.delegate = self;
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)sender {
return CGRectContainsPoint(self.targetImage.frame, [sender locationInView:self.view]);
}
- (void)gestureRecognizedStateDidChanged:(UILongPressGestureRecognizer *)sender {
switch (recognizer.state) {
case UIGestureRecognizerStatePossible:
case UIGestureRecognizerStateBegan: {
// did started, you can pick up your view
self.targerImageView.center = [sender locationInView:self.view];
break;
}
case UIGestureRecognizerStateFailed:
case UIGestureRecognizerStateCancelled:
case UIGestureRecognizerStateEnded: {
// drop callback, bring you view home or to target
if (CGRectContainsPoint(self.toDropImageViews.frame, [sender locationInView:self.view]) {
// do you drop code here
}
break;
}
case UIGestureRecognizerStateChanged: {
self.targerImageView.center = [sender locationInView:self.view];
// moving callback
break;
}
}
感謝你爲這個。對我來說這聽起來最合乎邏輯,正如我今天在工作中談到的那樣。我不想將imageview設置爲A的圖像,因此我能夠將A對象的中心與其中一個視圖的中心進行匹配?謝謝。 – Kevin 2013-02-28 02:06:07
是的。您可以將A的中心指定爲其中一個瓷磚的中心之一。 – Rakesh 2013-02-28 02:30:03