0

I have a UITableView that has something like 30 cells in it. I successfully use the scroll to index method when I add a new cell, but it is not working (almost) when called at view did load. When it is called at view didload it scrolls to the second to last cell instead of the last one, leaving the last one still hidden beyond view. There is definitely an object in the last position of the array at the point i am calling the scroll to, it is just weird.

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[myMatch.chat count]-1 inSection:0];
    [tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
4

3 に答える 3

3

使用する -

[tableView setContentInset:UIEdgeInsetsMake(0, 0, bottomSpace, 0)];

UIEdgeInsetsMake、、、、の4 つのパラメータを取りtopます。leftbottomright

于 2012-05-20T11:56:10.660 に答える
0

ミカエラ、私は3つの可能な方法で考えます:

  • scroll メソッドを呼び出すときに呼び出すインデックス番号を NSLog にします。このメソッドを IBAction からも起動してみて、ログに記録された値と結果が異なるかどうかを確認してください。
  • UITableView フレームが正しく設定されていますか?
  • 別の UITableViewScrollPosition を試しましたか?
于 2012-05-20T14:01:37.773 に答える