Ale*_*one 10 iphone objective-c uitableview uiscrollview ios5
我在UITableView中有一个可能非常长的消息滚动日志用户可以通过滚动来导航表.
我要做的是在表格的顶部添加新内容.如果表的顶部可见,则新行将推送其余内容.但是如果表的第一行不可见,则表将静默地在顶部添加另一行而不滚动.
我这样做是为了防止表格滚动到顶部中断用户浏览数据.如果我要求表格只是滚动到新的插入点,那么用户在表格中的位置将会丢失,从而使用户感到沮丧.
我可以尝试实现这一点的方法之一是将数据插入索引为0的NSMutableArray.这有用吗?一个额外的问题:在NSMutableArray的开头插入数据有多昂贵.我希望这样的操作得到优化,但我想确保.这个实现我错过了什么?
谢谢!
Tim*_*Tim 13
如何在不碰撞视图的情况下插入:
tableView
's(UIScrollView
)contentOffset
值查找用户当前滚动到的位置.animated:NO
tableView
的contentOffset
是当用户在加上无论你行的高度.如何避免在用户拖动时导致执行此操作的问题:
CGSize beforeContentSize = self.tableView.contentSize;
[self.tableView reloadData];
CGSize afterContentSize = self.tableView.contentSize;
CGPoint afterContentOffset = self.tableView.contentOffset;
CGPoint newContentOffset = CGPointMake(afterContentOffset.x, afterContentOffset.y + afterContentSize.height - beforeContentSize.height);
self.tableView.contentOffset = newContentOffset;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8933 次 |
最近记录: |