このサイトは、UIPmGestureRecognizerを使用してUIImageViewを移動する方法を説明する際に非常に役立ちましたが、移動する必要のあるプログラム1つのUIImageViewと私の人生のために私はそれを行う方法の例を見つけることができません。UIPanGestureRecognizerを使用して2つ以上のUIImageViewsを移動する方法
私はUIPanGestureRecognizerがUIViewに割り当てられていることを理解していますが、UIView内でUIImageViewをパンするのではなく、UIViewで1つのUIImageViewだけをパンするコードを知っています。
ここに私が使用したコードがあります。
- (void)viewDidLoad {
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(move:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setMaximumNumberOfTouches:1];
[_canvas addGestureRecognizer:panRecognizer];
[super viewDidLoad]; }
-(void)move:(id)sender {
CGPoint translatedPoint = [(UIPanGestureRecognizer*)sender translationInView:_canvas];
if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateBegan) {
_firstX = [photoImage center].x;
_firstY = [photoImage center].y;
}
translatedPoint = CGPointMake(_firstX+translatedPoint.x, _firstY+translatedPoint.y);
[photoImage setCenter:translatedPoint]; }
私は光画像と呼ばれるUIImageViewをパンが、コードが複数のUIImageViewをパンするどのように見えるかを知ることができます。
ご協力いただきありがとうございます。
ご協力ありがとうございます@ヤディン。ここには変更されたコードがありますが、photoImage2 UIImageViewだけがパンするでしょう。 - (ボイド)のviewDidLoad { ... [光画像setUserInteractionEnabled:YES]。 [photoImage2 setUserInteractionEnabled:YES]; [photoImage addGestureRecognizer:panRecognizer]; [photoImage2 addGestureRecognizer:panRecognizer]; ...} - (void)移動:(id)送信者{ ... _firstX = [(UIPanGestureRecognizer *)送信者locationInView:self.view] .x; _firstY = [(UIPanGestureRecognizer *)送信者locationInView:self.view] .y; } ... [(UIPanGestureRecognizer *)送信者ビュー] .center = translatedPoint; } – gobsofrob
UIPanGestureRecognizer * recognizer =(UIPanGestureRecognizer *)送信者。 UIView * selectedView = [レコグナイザビュー]; \t CGPointポイント= [認識プログラム翻訳インビュー:self.view]; \t([認識状態] == UIGestureRecognizerStateBegan)であれば{ \t firstX = selectedView.center.x。 \t firstY = selectedView.center。y; } \t 点= CGPointMake(firstX + point.x、firstY + point.y)。 [selectedView setCenter:point]; \t if([レコグナイザステート] == UIGestureRecognizerStateEnded){ \t [selectedView setCenter:point]; } 私はこのコードを使用し、それは関係なく存在しているどのように多くの意見私のために正常に動作しません – Hanon