我正在尝试索引表并在单击索引条目时滚动到正确的行。该表的每一行都有字母 A..Z。该指数还有 A..Z. 它在向下滚动时工作。例如,当我单击索引中的“H”时,表格会滚动,因此 H 是第一行,但现在当我单击“A”时,屏幕上有一半的空白空间,然后 A 行显示在中间。这是为什么?因为我是新会员,所以不能发图片。
我只有一节。我为节数返回 1,为节行数返回 26。
我在方法 sectionForSectionIndexTitle 中的代码是
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
NSLog(@"getting called %d",index);
int position;
switch (index) {
case 0:
position=0;
break;
case 1:
position=1;
break;
case 2:
position=2;
break;
case 3:
position=3;
break;
case 4:
position=4;
break;
case 5:
position=5;
break;
case 6:
position=6;
break;
case 7:
position=7;
break;
case 8:
position=8;
break;
case 9:
position=9;
break;
case 10:
position=10;
break;
case 11:
position=11;
break;
case 12:
position=12;
break;
case 13:
position=13;
break;
case 14:
position=14;
break;
case 15:
position=15;
break;
case 16:
position=16;
break;
case 17:
position=17;
break;
case 18:
position=18;
break;
case 19:
position=19;
break;
case 20:
position=20;
break;
case 21:
position=21;
break;
case 22:
position=22;
break;
case 23:
position=23;
break;
case 24:
position=24;
break;
case 25:
position=25;
break;
case 26:
position=26;
break;
default:
position=1;
break;
}
NSLog(@"scrolling to %d",position);
[tableView reloadInputViews];
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:position inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
return index;
}