gpt4 book ai didi

iphone - sectionIndexTitlesForTableView 与部分正确对齐

转载 作者:行者123 更新时间:2023-12-03 19:32:13 26 4
gpt4 key购买 nike

我有一个包含许多部分的表格 View ,这些部分的标题只是 A-Z 和 #,就像在 iPhone 通讯录应用程序中一样。我已经实现了sectionIndexTitlesForTableView,可以快速移动到特定字母,基本上只返回字母A - Z 和# 的数组。

如果我的列表始终包含字母表中每个字母的项目,那么这会起作用,但它不会,这会搞乱部分索引标题,因为如果第三部分是 D,则在列表中点击 C 可能会转到 D(即如果 C) 部分没有任何内容。

我知道我可以返回sectionIndexTitlesForTableView中的数组,其中仅包含部分字母,但这看起来有点奇怪,并且与iPhone地址簿应用程序的功能不同。

我该如何纠正这个问题?

最佳答案

如果您只有 A、C、F、S、T 部分和 A-Z 的部分索引标题,我不知道 @Rudiger 的方法将如何工作。使用 MPMediaQuery 时可能会出现这种情况。

为了解决这个问题,我实现了如下方法,如果您要查找的部分不存在,表格 View 将滚动到正确的部分或下一个部分。

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
NSString *sectionTitle = nil;
NSComparisonResult result;
int i;

for(i = 0; i < tableView.numberOfSections; i++)
{
sectionTitle = [self tableView:tableView titleForHeaderInSection:i];
result = [title compare:sectionTitle];

if(result != NSOrderedDescending)
break;
}

return (MIN (i, (tableView.numberOfSections - 1)));
}

更新

更改了返回值以修复 Eric D'Souza 描述的情况。

关于iphone - sectionIndexTitlesForTableView 与部分正确对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4181677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com