iOS动画部分单元格以显示完整单元格

时间:2014-06-05 12:08:03

标签: objective-c

我有一个带有UITextField的UITableViewCell。当我单击UITextField时,我想确保整个单元格在tableView中可见。我在textfieldDidBeginEditing中这样做了,如下所示:

- (void) textFieldDidBeginEditing:(id)textField {
    TTTableViewCell *cell = (TTTableViewCell *)[self.tableView  cellForRowAtIndexPath:objc_getAssociatedObject(textField, kIndexPathId)];
    [self.tableView setContentOffset:CGPointMake(cell.frame.origin.x, cell.frame.origin.y - self.tableView.sectionHeaderHeight) animated:YES];
}

当用户进入列表时,这非常有效。期望用户点击顶部部分可见的单元格时,它不会显示整个单元格只是移动了一点。

有人知道这个问题的解决方案吗?

1 个答案:

答案 0 :(得分:1)

有UITableView方法可以解决这个问题。您可以使用scrollToRowAtIndexPath:atScrollPosition:animated:要求表格视图通过传递UITableViewScrollPositionTop将单元格置于顶部。

(您可能首先要检查它是否已经可见,以确保它不会不必要地滚动。)