使UIScrollView的子视图固定,而其他子视图可滚动
问题描述:
我想制作一个视图,其中三个子视图堆叠在一起,中间子视图可以滚动并与其他子视图一起滚动。使UIScrollView的子视图固定,而其他子视图可滚动
如何以编程方式实现此目的?我曾尝试过
- 将根视图的内容大小设置为可滚动视图的大小,但这会使所有视图都滚动。
- 设置中间子视图的内容大小,但不为根视图设置任何属性,但会使所有视图无法滚动。
请帮忙。我是iOS新手。
在此先感谢
答
您可以使用在UIScrollView
的scrollViewDidScroll:
委托回调调整您的视角的位置。在回调中,获取滚动视图的contentOffset
并使用它来设置固定视图的位置。例如,如果您希望固定视图从scrollview顶部始终保持100 px,请将其初始帧设置为(0,100,宽度,高度),然后在回调中将帧设置为( 0,contentOffset.y + 100,宽度,高度)。
结果是,子视图将出现固定在给定的高度。
答
如果您的UIScrollView具有超级视图(即容器视图),则可以将“固定”视图添加为超级视图的子视图而不是UIScrollView。你只需要计算一次你的帧坐标。
谢谢!这工作。只是我的scrollviews需要水平滚动,所以我更新了委托中框架的x坐标。 – sam 2011-01-28 03:08:47