我一直在网上寻找解决方案,但我似乎找不到任何东西,而且我被卡住了。
我有一个NSMutableArray:
productsToDisplay
由一堆Product对象组成,每个对象都有一个'name'属性,例如
Product *product = ....
NSLog(@"%@", product.name);
每个单元格显示一个产品名称,单击此按钮可显示有关该产品的更多信息。
但是我有很多产品,并希望将它们分成UITableView中的字母部分(就像iPhone上的联系人一样)。
有人能指出我正确的方向吗?
非常感谢,
杰克
[编辑] 我意识到我可以在name属性上对数组进行排序,但我还想在UITableView的右侧运行快速搜索栏,以便用户可以轻松找到他们正在寻找的部分。
答案 0 :(得分:4)
使用此委托显示右侧部分列表: -
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return searchArray;
}
根据右侧列表使用此委托关联表格内容(部分): -
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
if (index == 0) {
[tableView scrollRectToVisible:[[tableView tableHeaderView] bounds] animated:NO];
return -1;
}
return index;
}
答案 1 :(得分:3)
在你的tableview中添加字母部分,然后你必须创建与tableview中的部分相对应的字母数组。如[0]部分 - 'A',部分[1] - 'B'等
添加 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { 返回键; } //委托要求在索引中显示值的数组。
因此,此数组中的第一项将把用户带到第一部分,即第0部分。