如何在iPhone上的联系人应用程序中获取相同的部分索引标题

时间:2014-01-20 15:26:01

标签: ios objective-c cocoa-touch ios7

我正在构建一个iOS应用程序,我正在使用Addressbook中的信息。我正在显示地址簿中的所有数据以及一些自定义信息,但我有一点问题。

我的问题是部分索引标题。首先,我尝试返回所有字母表的数组,但它使我的工作看起来非常奇怪。我希望我的应用程序中的部分索引标题看起来与使用蓝点的联系人应用程序中的方式相同,如下图所示

抱歉,我无法上传图片,据说我需要10个代表才能这样做

我再说一遍,我希望我的应用程序具有相同的部分索引标题,其中包含蓝点,就像联系人应用程序一样。

谢谢

这是我的代码

NSArray *alphabets =[[NSArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@>"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z", nil];

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
      return alphabets;
}

图片链接为http://tinypic.com/r/70u93s/5

1 个答案:

答案 0 :(得分:4)

你应该看看

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/CreateConfigureTableView/CreateConfigureTableView.html

填充索引列表部分。

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
    return [[UILocalizedIndexedCollation currentCollation] sectionIndexTitles];
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if ([[self.states objectAtIndex:section] count] > 0) {

    return [[[UILocalizedIndexedCollation currentCollation] sectionTitles] objectAtIndex:section];

}

return nil;
}

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
    return [[UILocalizedIndexedCollation currentCollation] sectionForSectionIndexTitleAtIndex:index];
}