現在、画面の下部に隠れているビューがあります。ここで、ビューをy軸を介して垂直方向にスクロールして、ビューを移動できるようにします。ただし、ビューの高さ全体よりも高くしたくない(つまり、下部に空白が表示されないようにする)。私はこのコードを書きました:
- (IBAction)panHighlightReadingVC:(UIPanGestureRecognizer *)recognizer
{
CGPoint translation = [recognizer translationInView:self.view];
CGPoint newCenter = CGPointMake(self.view.bounds.size.width / 2,
roundf(recognizer.view.center.y + translation.y));
CGFloat velocityY = [recognizer velocityInView:self.view].y;
if ((recognizer.view.frameY > self.view.frameHeight - recognizer.view.frameHeight || velocityY > 0)) {
recognizer.view.center = newCenter;
[recognizer setTranslation:CGPointZero inView:self.view];
}
}
ゆっくりスクロールするとこういう作品。非常に速くスクロールすると、ビューのframeYが `superView.frameHeight--recognizer.view.frameHeightよりも小さい可能性があります。これを修正するにはどうすればよいですか?