如何为iPhone创建字典样式滚动条(如“联系人”列表中)?

时间:2009-03-31 07:26:18

标签: iphone objective-c

我正在创建一个iPhone应用程序,我希望有一个类似于iPhone的本机联系人选择器视图的界面,即您可以滚动的字母列表,顶部有一个搜索栏,缩小了列表。特别是,我希望能够在侧面显示字母表的字母,以便在滚动列表时,您可以在滚动条的字母表中看到您的位置。问题是我的数据基本上由键值对组成,而不是联系人数据,所以我不能轻易使用本机联系人选择器。

据我所知,我有两种方法可以实现我的目标:

  1. 使用ABPeoplePickerNavigationController类并破解它以使用我填写非地址类型数据的地址簿。这样做的问题是,默认情况下,地址簿将填满iPhone上的联系人,这样每次打开应用程序时,我都必须刷新这些联系人并构建我自己的列表。 (更不用说与使用绑定到特定数据结构的接口相关的其他问题)
  2. 使用UISearchBar和UIScrollView。这没关系,但我不知道如何对滚动条做任何事情,除了改变它的颜色 - 我看不到如何覆盖它的内容。
  3. 有哪些建议是最简单的方法?有哪些陷阱(特别是1)?

2 个答案:

答案 0 :(得分:2)

要获得旁边的字母,您可以在表视图数据源中提供-sectionIndexTitlesForTableView:方法。至于搜索,那里还有一些工作,而且它非常依赖于你的数据。然而,UISearchBar是开始的地方。

答案 1 :(得分:0)

对于搜索栏,请查看Three20 library中的TTSearchBar。

使用UITableView可以轻松实现其他所有功能。