我有一个UIScrollView
,其中UIView
是subview
的{{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
的高度之和
答案 0 :(得分:1)
您使用的程序似乎是正确的。无论子视图如何,只需使用更大的内容大小,然后使用其帧大小,滚动视图就可以正确滚动。
滚动视图可能会粘住,如果启用了分页,则会捕捉到某些点,这就是您的情况。如果内容视图大于帧大小的1.5,则滚动视图将捕捉到顶部/底部或左/右。如果它小,那么它只会捕捉到起始位置。
这对于像侧面菜单占据屏幕一部分的情况非常有用,但在您的情况下,您应该只是禁用分页,滚动应该可以正常工作。