UIScrollView更新contentSize导致滚动

时间:2011-02-03 20:31:37

标签: iphone ios uikit

我有一个UIScrollView,其中包含一个子视图。如果我在创建后立即设置contentSize UIScrollView,那么一切都按照我的预期进行,我会滚动。

挑战是UIScrollView内的视图是动态调整大小的。宽度是固定的,但在设置scrollview时高度未知。

当我在内部视图完成之后执行[scrollView setContentSize:CGRectMake(...)]时,滚动视图会更新为正确的大小并且滚动有效。所以基本滚动工作正常。

然而,主要的问题是,当我setContentSize稍后,UIScrollView决定向下滚动(带动画)到滚动视图的末尾,这不是我想要的,我希望滚动保持在顶部,让滚动视图中的内容变大或变小,而不改变明显的滚动位置。

我错过了什么?

2 个答案:

答案 0 :(得分:6)

为什么不在调用setContentSize时调用[scrollview setContentOffset:CGPointMake(0,0)];

答案 1 :(得分:0)

强制UIScrollView仅滚动,例如在水平方面,我总是使用以下方法将contentSize的不可滚动值设置为0,

CGSizeMake(contentSize.width, 0).