如何指定显示SectionIndexes的帧的宽度。我在下面显示的图像将解释我的状况。
我想在sectionIndex中包装单词,当SectionIndex框架大小固定时,我可以设置右侧显示的SectionIndex框架的宽度.SectionIndex框架会自动调整大小到它内的单词长度。
我编写代码以从SectionIndexTitle返回数组,如下所示:
NSMutableArray *array = [[NSMutableArray alloc] init];
for (int i = 0; i <[keys count]; i++) {
NSString *str = [self.keys objectAtIndex:i];
int length = [str length];
if (length > 9) {
str = [NSString stringWithFormat:@"%@..",[str substringToIndex:8]];
}
[array addObject:str];
}
NSArray *a =[NSArray arrayWithArray:array];
[array release];
return a;
请你帮我解决这个问题......!
答案 0 :(得分:2)
不幸的是,使用公共API无法自定义节索引。
如果此功能对您的应用非常重要,您可能最终会创建自定义部分索引视图。
答案 1 :(得分:1)
答案 2 :(得分:0)
我最近有类似的问题,我没有时间整合自定义的sectionindex。所以我只是用空格修改了部分索引列表中的第一项:
-(NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
return @[@" A ", @"B", @"C", @"D", @"E", @"F"];
}
-(NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
if ([title containsString:@"A"])
{
title = @"A";
}
//Your code here
}
通过这个解决方案,我可以修改节索引的宽度!
希望有所帮助:)
答案 3 :(得分:0)
这似乎在iPad和iPhone 5上运行良好。在cellForRow中使用它。
let rightOffset: CGFloat = cell.frame.width - cell.contentView.frame.width