私はUIViewを持っています画面を上下に移動しようとしていますが、通常の位置にあるときにビューをドラッグすることはできません(0、0)境界外の場合にパンジェスチャーを無効にする
認識器の中心がビューの高さの半分ではないが、ビューが動かず、中心が常に高さの半分(この場合は230)であることを検出しようとしました。
アイデア?
- (IBAction)panDetected:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:self.view];
NSLog(@"\ncenter.y: %f\ntranslation.y: %f\n", recognizer.view.center.y, translation.y);
if (recognizer.view.center.y > ([[UIScreen mainScreen] bounds].size.height - 20)/2) {
return;
}
recognizer.view.center = CGPointMake(recognizer.view.center.x,
recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}
recognizer.view.center = CGPointMake(recognizer.view.center.x、 MAX(recognizer.view.center.y + translation.y、230)); – Rich86man