我想制作一个视图,其中三个子视图堆叠在一起,中间子视图可滚动,其他子视图固定。
如何以编程方式实现此目标?我试过了
- 设置中间子视图的内容大小而不设置根视图的任何属性,但这会使所有视图都不可滚动。
请帮忙。我是iOS的新手。
提前致谢
答案 0 :(得分:25)
您可以使用scrollViewDidScroll:
上的UIScrollView
委托回调来调整视图的位置。在回调中,获取滚动视图的contentOffset
并使用它来设置固定视图的位置。
例如,如果希望固定视图始终从滚动视图顶部保持100像素,则将其初始帧设置为(0,100,宽度,高度),然后在回调中将帧设置为(0 ,contentOffset.y + 100,宽度,高度)。
结果是子视图将显示为固定在给定高度。
答案 1 :(得分:3)
如果您的UIScrollView具有超级视图(即容器视图),则可以将“固定”视图添加为超级视图的子视图而不是UIScrollView。您只需计算一次帧坐标。
答案 2 :(得分:1)