2016-02-29 159 views
0

当我自定义tableHeaderView,我reloadDataviewWillAppear后,表查看contentOffset.y将被改变。TableView yOffset改变后reloadData

请帮助我..


我日志的tableView contentOffset时,我会调用reloadData, 这是日志:

2016-03-01 10:51:04:362 ~~[1474:387143] will-TableViewContentOffset: {0, -18} 2016-03-01 10:51:04:363 ~~[1474:387143] did-TableViewContentOffset: {0, -62}

这是我如何调用:

NHDLog(@"will-TableViewContentOffset: %@", NSStringFromCGPoint(self.tableView. 

    [self _reloadTableView]; 

    NHDLog(@"did-TableViewContentOffset: %@", NSStringFromCGPoint(self.tableView.contentOffset)); 

In viewDidLoad我已设置:

self.edgesForExtendedLayout = UIRectEdgeNone; 
self.automaticallyAdjustsScrollViewInsets = NO; 
+0

有什么实际工作中的问题? –

+0

你能更具体吗? UITableView或UITableViewController是否在任何UINavigationController或UITabBarController中加载? –

+0

发布一些代码,告诉我们你已经尝试了什么,并清楚地解释我们的问题。我们很乐意为您提供帮助。 – iPeter

回答

0

尝试添加以下代码viewDidLoad

在斯威夫特:

self.automaticallyAdjustsScrollViewInsets = false 

在Objective-C

self.automaticallyAdjustsScrollViewInsets = NO; 
+0

不适合我。 –

0

我终于解决了通过删除以下代码问题:

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath

0

这个固定为我(thanks to rshinich)同样的问题:

self.tableView.estimatedRowHeight = 0; 
self.tableView.estimatedSectionHeaderHeight = 0; 
self.tableView.estimatedSectionFooterHeight = 0;