我有一个UIScrollView
,我有一个UIView
,它是subview
的scroll view
,UIView
还有很多其他子视图,添加子视图后,我会动态获得其高度,这是我的代码,将视图添加到滚动视图
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倍,则滚动视图将捕捉到顶部/底部或左侧/右侧。如果较小,则它将仅捕捉到起始位置。
这对于诸如侧面菜单占据屏幕一部分的情况可能非常有用,但是在您的情况下,您应该仅禁用分页并且滚动应该可以正常工作。