【发布时间】:2014-09-15 17:00:21
【问题描述】:
我正在尝试在sectionIndexTitlesForTableView 中的字母之间添加空格以占据所有屏幕高度。我找到了这个方法:
UITableView section index spacing on iOS 7
但它不起作用。有什么变化吗?
这是我的实现(我只想在 iPhone 5 上实现):
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
float ScreenHeight=[[UIScreen mainScreen] bounds].size.height;
if (ScreenHeight==568) {
return[NSArray arrayWithObjects:@"A",@" ", @"B",@" ", @"C",@" ", @"D",@" ", @"E",@" ", @"F",@" ", @"G",@" ", @"H",@" ", @"I",@" ", @"J",@" ", @"K",@" ", @"L",@" ", @"M",@" ", @"N",@" ", @"O",@" ", @"P",@" ", @"Q",@" ", @"R",@" ", @"S",@" ", @"T",@" ", @"U",@" ", @"V",@" ", @"W",@" ", @"X",@" ", @"Y",@" ", @"Z", nil];
}
else {
return[NSArray arrayWithObjects:@"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z", nil];
}
}
编辑
每个字母添加一个空对象会创建一个“合成 sectionIndexTitlesForTableView 视图”,并非所有字母都显示在右侧,但只有一个人。我认为这是太长列表的默认行为...无论如何,如果我删除一些空对象(例如,我只删除数组中的最后 5 个空对象),“合成视图”会消失,但 sectionIndexTitlesForTableView 中的字母间距不要改变(与我在没有空对象的数组中的间距相同),即使在 A 和 B 之间我留下了一个空对象。
【问题讨论】:
-
定义“它不起作用”。你的标题不显示吗?它们根本没有间隔吗?它们的间距不够吗?索引是否未正确映射到部分?代码会融化你的手机并召唤克苏鲁吗? “它不起作用”不是可解决的错误。
-
我已经更新了我的问题@Stonz2
标签: ios objective-c uitableview