UIScrollView 跳到顶部或底部

UIScrollView Bounces To Either Top Or Bottom

我有一个 UIScrollView,我有一个 UIView,它是 scroll viewsubviewUIView 还有很多其他子视图,我在添加子视图后动态获取它的高度,这是我将视图添加到滚动视图的代码

 CGRect frameOfView = CGRectMake(0, 0,Get_Bounds.width, globalYPosition);
 self.parentProductDetailView = [[UIView alloc]initWithFrame:frameOfView];

我首先以这种方式初始化视图,然后在添加所有子视图后我这样做,

  frameOfView.size.height = globalYPosition;

 [self.parentProductDetailView layoutSubviews];
 self.parentProductDetailView.frame = frameOfView;
 [self.productDetailScrollView addSubview:self.parentProductDetailView];
 self.productDetailScrollView.contentSize = CGSizeMake(0, self.parentProductDetailView.frame.size.height *1);

但是我的 scrollview 不能正常滚动,它要么停留在顶部,要么停留在底部。

这里globalYPosition是所有subviews加上parentProductDetailView

的高度之和

您使用的程序似乎是正确的。无论子视图如何,您的滚动视图都应该通过简单地使用比其框架大小更大的内容大小来正确滚动。

如果启用分页,滚动视图可能会卡住并捕捉到某些点,这就是您的情况。如果内容视图大于帧大小的 1.5,则滚动视图将捕捉到 top/bottom 或 left/right。如果它更小,那么它只会捕捉到起始位置。

这对于有一个占据屏幕一部分的侧面菜单的情况可能非常有用,但在您的情况下,您应该简单地禁用分页和滚动应该可以正常工作。