0

下面创建一个手势识别是移动整个视图:对整个视图使用UIPanGestureRecognizer移动子视图

UIPanGestureRecognizer * recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; 
recognizer.delegate = self; 
[self.view addGestureRecognizer:recognizer]; 

- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer { 

    CGPoint translation = [recognizer translationInView:self.view]; 
    recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, 
            recognizer.view.center.y + translation.y); 
    [recognizer setTranslation:CGPointMake(0, 0) inView:self.view]; 

} 

但我只想移动子视图之一。我不能这样做:

[self.theSubview addGestureRecognizer:recognizer]; 

因为我想识别整个屏幕上的手势。应该移动的对象可能很小,我不想强​​制用户“抓”它。我如何修改处理器方法来移动子视图?

回答

0

岂不:

self.theSubview.center = CGPointMake(self.theSubview.center.x + translation.x, 
                                  self.theSubview.center.y + translation.y); 

取得成功?

相关问题