こんにちはUIPanGestureRecognizer
、私のプロジェクトで使用しました。以下のコードを使用して処理しましたUIPanGestureRecognizer
- (void)handlePan:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:self];
CGFloat newX = MIN(recognizer.view.frame.origin.x + translation.x, self.frame.size.width - recognizer.view.frame.size.width);
CGRect newFrame = CGRectMake( newX,recognizer.view.frame.origin.y, recognizer.view.frame.size.width, recognizer.view.frame.size.height);
recognizer.view.frame = newFrame;
[recognizer setTranslation:CGPointZero inView:self];
}
プロジェクトには 2 つのビューがあり、1 つは親ビュー (赤色のビュー) で、もう 1 つは子ビュー (緑色のビュー) です。私の要件は、親ビューで子ビューをパンする必要があることです。私のhandlePan
方法は正常に機能しますが、唯一の問題は、左側の制限を超えてパンできることです。右側で完全に機能します。コードで何を変更する必要があるか助けてください。