我有以下代码,它工作得很好,但我无法真正向自己解释。我的目标是将UIView
从底部拖出,并在UIView
的底部到达屏幕中心时停止移动。代码就是这样,但我仍然对我设置的限制(newCenter.y >= 0 && newCenter.y <= 284)
如何工作感到困惑。
我对最新情况的看法是,当我开始将UIView
从最底部向屏幕顶部拖动时,我newCenter.y
在向上拖动时不断变化(减少)。但是当被拖动的视图底部到达屏幕中心时,是什么让它停止?在我接近0之前,视图停止拖动。
- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:self.view];
CGPoint newCenter = CGPointMake(self.view.bounds.size.width / 2,
recognizer.view.center.y + translation.y);
if (newCenter.y >= 0 && newCenter.y <= 284) {
recognizer.view.center = newCenter;
[recognizer setTranslation:CGPointZero inView:self.view];
}
}