【问题标题】:UIScrollView Bounces To Either Top Or BottomUIScrollView 弹跳到顶部或底部
【发布时间】:2017-11-19 05:10:31
【问题描述】:

我有一个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);

但是我的滚动视图不能正确滚动它要么粘在顶部或底部。

这里 globalYPosition 是所有subviews 添加到parentProductDetailView 的高度之和

【问题讨论】:

  • 只是在黑暗中拍摄:您是否在滚动视图上启用了分页?它应该被禁用。
  • 请将此添加为答案,我会赞成它拯救了我的一天。 :)

标签: ios objective-c uiview uiscrollview subview


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多