我有一个tableview。在点击时,单元格会扩展为一个表单,我希望单元格向上滚动以从导航栏下方开始。我如何实现这一目标?
这是起始状态:
目前,点按后:
这就是我想要的:
答案 0 :(得分:2)
你需要这样的东西:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Perform cell change height code here
// ...
// After that scroll to this cell
CGFloat sectionHeaderHeight = [self tableView:tableView heightForHeaderInSection:indexPath.section];
CGRect cellFrame = [tableView rectForRowAtIndexPath:indexPath];
[tableView setContentOffset:CGPointMake(0, cellFrame.origin.y - sectionHeaderHeight) animated:YES];
}
答案 1 :(得分:1)
scrollToRowAtIndexPath...
或scrollToNearestSelectedRow...
都采用“滚动位置”参数,允许选择转到表格视图的顶部,中间或底部。这应该给你你想要的。