在UITableView上实现一个粘性标头

时间:2012-01-24 05:44:17

标签: ios

我想有一个滚动的视图。视图将有一个标题,最初占用屏幕的三分之一左右。当用户滚动时,标题将开始离开屏幕,但是一旦剩下大约50px,我希望标题坚持,屏幕的其余部分仍然会滚动...任何想法都会有所帮助,我是更多关注方法而不是实际代码。这是我正在尝试做的ascii艺术表现:

+-------------+   +-------------+   +-------------+   +-------------+   +-------------+
| ###         |   | ##          |   | #           |   | #           |   | #           |
| ##          |   | #           |   |-------------|   |-------------|   |-------------|
| #           |   |-------------|   | 1. Lorem    |   | 2. Lorem    |   | 3. Lorem    |
|-------------|   | 1. Lorem    |   | 2. Lorem    |   | 3. Lorem    |   | 4. Lorem    |
| 1. Lorem    |   | 2. Lorem    |   | 3. Lorem    |   | 4. Lorem    |   | 5. Lorem    |
| 2. Lorem    |   | 3. Lorem    |   | 4. Lorem    |   | 5. Lorem    |   | 6. Lorem    |
| 3. Lorem    |   | 4. Lorem    |   | 5. Lorem    |   | 6. Lorem    |   | 7. Lorem    |
| 4. Lorem    |   | 5. Lorem    |   | 6. Lorem    |   | 7. Lorem    |   | 8. Lorem    |
| 5. Lorem    |   | 6. Lorem    |   | 7. Lorem    |   | 8. Lorem    |   | 9. Lorem    |
| 6. Lorem    |   | 7. Lorem    |   | 8. Lorem    |   | 9. Lorem    |   | A. Lorem    |
| 7. Lorem    |   | 8. Lorem    |   | 9. Lorem    |   | A. Lorem    |   | B. Lorem    |
+-------------+   +-------------+   +-------------+   +-------------+   +-------------+

1 个答案:

答案 0 :(得分:1)

scrollViewDelegate中,实施scrollViewDidScroll:并将节标题的center属性重新设置为:

myHeader.center = CGPointMake(myHeader.center.x, myHeader.center.y - scrollView.contentOffset.y);

每当您确定myHeader.frame.origin.y <= -scrollView.contentOffset.y

这不是我的头脑,但应该指向正确的方向。