IPhone TableView标题行为自定义

时间:2012-10-11 20:58:43

标签: iphone uitableview header position docking

任何人都知道一种自定义TableView标头停靠行为的方法,或者这样做的框架吗?

具体来说,如果您弹出iPod应用程序,您会注意到在您的艺术家列表中,字母标题停靠在顶部。然后,当你进一步向下滚动时,下一个标题会“推”第一个标题。

这个小机制可以非常有创意地使用:例如,让我们说你有一个充满内容的tableview。内容有两个“模式”,因此您需要在tableview顶部的分段控件,这将切换单元格中内容的行为。然后,您还需要在屏幕顶部装饰一些东西 - 比如徽标。

一个有趣的方法是将徽标作为标题,将分段控件放在不同的标题中。 logoHeader将是第0部分的标题,segmentedHeader将是第1部分的标题。第0部分没有单元格(或者如果UITableView在此处发出声音,则可以添加0px或1px行),而第1部分将包含你的所有内容。所以,有点像这样:


LOGO HEADER


SegControlHeader


内容


内容


内容


内容


内容


(SO的格式化功能可以防止我的ASCII艺术看起来像我的意图,但没关系。)

那么,这是做什么的?好吧,整个屏幕响应滚动,因为它是一个表视图。但是当logoHeader将在屏幕外显示时,segControlHeader将停靠在顶部,其余内容将在其后面传递。这只是一个有趣的对接效果,通过良好的设计和艺术作品,您可以创造出整洁的效果。

现在,当您的设计师想要将其提升到新的水平时,问题就出现了。 “这应该停靠在这里,这应该停靠在这里,当你打开视图(如搜索栏)时,这个东西将开始部分隐藏在tableview的范围之外”等。内容中的其他标题需要在那里并停靠等等。

无论如何,你可以通过这种对接效果获得一系列复杂性,并且几乎可以立即使桌面视图变得不足。有没有人知道这样做的好方法,或者某种可以实现同样行为的框架?

也许最简单的方法是使用scrollview,阅读contentOffset,然后在内容视图中相应地重新定位内容,MIN-ed或MAX-ed到滚动视图中的特定范围?

0 个答案:

没有答案
相关问题