UIScrollView更新contentSize导致滚动

Kek*_*koa 4 iphone uikit ios

我有一个在UIScrollView其中有一个子视图.如果我设置contentSizeUIScrollView创建后立即,一切工作如我所料,我得到滚动.

挑战在于其中的视图UIScrollView是动态大小的.宽度是固定的,但在设置scrollview时高度未知.

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

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

我错过了什么?

h4x*_*xxr 6

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

  • 谢谢你的回复.你让我想到为什么偏移量首先不是0,0.问题是我正在将内容偏移初始化为大于窗口本身的高度,因此当内容大小改变时,scrollview可能希望保持其原始位置.没有初始化内容大小修复了行为,它没有移动. (2认同)