固定UIScrollView的子视图,而其他子视图可滚动

sam*_*sam 7 objective-c uiscrollview ios

我想创建一个视图,其中三个子视图堆叠在一起,中间子视图可滚动,其他子视图固定.

我如何以编程方式实现此目的?我试过了

  • 将根视图的内容大小设置为可滚动视图的大小,但这会使所有视图滚动.

- 设置中间子视图的内容大小而不设置根视图的任何属性,但这使得所有视图都不可滚动.

请帮忙.我是iOS新手.

提前致谢

kev*_*boh 25

您可以使用scrollViewDidScroll:代理回调UIScrollView来调整视图的位置.在回调中,获取contentOffsetscrollview并使用它来设置固定视图的位置.

例如,如果希望固定视图始终从滚动视图顶部保持100像素,则将其初始帧设置为(0,100,宽度,高度),然后在回调中将帧设置为(0,contentOffset. y + 100,宽度,高度).

结果是子视图将显示为固定在给定高度.