allCitysTable.sectionIndexBackgroundColor = ClearColor;//设置右侧Table的背景色
allCitysTable.sectionIndexTrackingBackgroundColor = ClearColor;//设置右侧Table点击时的背景色
//设置右侧table的标题数组
-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
sectionTitleArray = [NSMutableArray array];
NSArray * allTitles = [[UILocalizedIndexedCollation currentCollation] sectionTitles];//为[A.....Z,#]
//section数组为空的title过滤掉,不显示
for (int i=0; i<[allTitles count]; i++)
{
if(citysSortArray.count <= i)
return nil;
if ([[citysSortArray objectAtIndex:i] count] > 0)
{
[sectionTitleArray addObject:[allTitles objectAtIndex:i]];
}
}
return sectionTitleArray;
}
//设置某个section的标题
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
NSString *title = [sectionTitleArray objectAtIndex:section];
return title;
}
//点击右侧某个标题,返回此标题在大table的section
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
NSInteger i = [[UILocalizedIndexedCollation currentCollation] sectionForSectionIndexTitleAtIndex:index];
return i;
}
*注意:
1、注意右侧table的行数要与大table的section数相同
2、大table若是存在某section没数据且不需要显示的时候,注意右侧table的标题要与大table的section标题匹配(最好新建个标题数组,原数据数组,去除为空section的数组)