我想创建一个类似于iOS
联系人应用的视图,
基本上我想要的是,位于右侧的垂直
ABCDEFG....
当用户点击我想要的字符M
时,此图片的一侧 得到角色M
我该如何实现这个目标?有没有iOS 控制哪个给我这个'ABCDEF ......?
感谢advnace。
修改
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
return [[NSArray arrayWithObject:UITableViewIndexSearch] arrayByAddingObjectsFromArray:
[[UILocalizedIndexedCollation currentCollation] sectionIndexTitles]];
}
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
if (title == UITableViewIndexSearch)
{
CGRect searchBarFrame = self.searchDisplayController.searchBar.frame;
[tableView scrollRectToVisible:searchBarFrame animated:YES];
return -1;
}
else {
UILocalizedIndexedCollation *currentCollation = [UILocalizedIndexedCollation currentCollation];
NSLog(@"selected charecter=%ld",(long)[currentCollation sectionForSectionIndexTitleAtIndex:index]);
return [currentCollation sectionForSectionIndexTitleAtIndex:index-1];
}
}
答案 0 :(得分:12)
您需要实现这两种方法:
// return list of section titles to display in section index view (e.g. "ABCD...Z#")
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView;
// tell table which section corresponds to section title/index (e.g. "B",1))
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index;
使用相应的数据源:
例如,如果您有一个带
的数组`@"Cat", @"Mouse", @"Dog", @"Horse", @"Duck", @"Monkey"`
然后你会为sectionIndexTitlesForTableView
返回和数组为:
`@[@"C", @"D", @"H", @"M"]`
因为@"Dog"
和@"Duck"
适用于@"D"
,@"Mouse"
和@"Monkey"
适用于@"M"
,依此类推。
当然,对于sectionForSectionIndexTitle
,您将返回该索引的相应索引。 (@"D"
为1,@"M"
等为3。)