如何获得与 iPhone 上的联系人应用程序中相同的部分索引标题
Posted
技术标签:
【中文标题】如何获得与 iPhone 上的联系人应用程序中相同的部分索引标题【英文标题】:How to get same section index titles as in Contacts app on iPhone 【发布时间】:2014-01-20 15:26:01 【问题描述】:我正在构建一个 ios 应用程序,并且正在使用地址簿中的信息。我正在显示地址簿中的所有数据以及一些自定义信息,但我有一个小问题。
我的问题是部分索引标题。首先,我尝试返回一个包含所有字母的数组,但这让我的工作看起来很奇怪。我想让我的应用程序中的部分索引标题看起来与联系人应用程序中的一样,带有蓝点,如下图所示
抱歉,我无法上传它说我需要 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
【问题讨论】:
向我们展示您的无效代码 请添加图片链接 索引栏是动态的 - 它会根据表格中有多少个部分以及它们的部分标题是什么而变化。考虑到这一点,如果您的联系人只有 2 个部分,A 和 F,那么索引栏将仅显示 A 和 F,并且如果您在该部分中有足够的条目来保证间距,则索引栏将用蓝点分隔它们。 【参考方案1】:你应该看看
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];
【讨论】:
感谢您的帮助,我尝试将其放入我的代码中,但没有成功,我能够构建没有错误的代码,但是当我尝试运行程序时它会因错误而崩溃.我附上了一张图片的链接,该图片描述了我正在寻找的内容。谢谢以上是关于如何获得与 iPhone 上的联系人应用程序中相同的部分索引标题的主要内容,如果未能解决你的问题,请参考以下文章
iPhone X 上的 UITableViewCell contentView inset