UIScrollView弹跳到顶部或底部

时间:2017-06-16 12:12:33

标签: ios objective-c uiview uiscrollview subview

我有一个UIScrollView,其中UIViewsubview的{​​{1}},scroll view有很多其他子视图,我在添加子视图后动态获取它的高度,这是我添加视图以滚动视图的代码

UIView

我首先以这种方式初始化视图,然后在添加所有子视图后,我正在执行此操作,

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

但是我的滚动视图无法正确滚动它会粘到顶部或底部。

此处globalYPosition是添加到 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);

的所有subviews的高度之和

1 个答案:

答案 0 :(得分:1)

您使用的程序似乎是正确的。无论子视图如何,只需使用更大的内容大小,然后使用其帧大小,滚动视图就可以正确滚动。

滚动视图可能会粘住,如果启用了分页,则会捕捉到某些点,这就是您的情况。如果内容视图大于帧大小的1.5,则滚动视图将捕捉到顶部/底部或左/右。如果它小,那么它只会捕捉到起始位置。

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