automaticallyAdjustsScrollViewInsets在UITableView中的使用

self.automaticallyAdjustsScrollViewInsets = YES;
当设计到scrollView、tableview时,在设置完数据的时候,内部会改变contentInsets的top值为64
例如:
group样式的tableView在有导航栏的控制器下,第0组的头部会多出一部分高度
原因是 :
ios7下group样式的tabelView的第0组第0个cell,在tableview中的y值为35!!!
并且在设置完cell数据之后,系统默认会执行self.automaticallyAdjustsScrollViewInsets = YES;
也就是tableview的contentInset.top = 64;
所以 第0组第0行cell的y值 = 64 + 35.

要达到第0组第0行cell的y值 = 导航栏底部 的效果
就要在cell设置数据之前,
tableView.contentInset = UIEdgeInsetsMake(- 35, 0, 0, 0);
这样在cell在设置完数据后,系统内部改变top值增加64,就恰好达到效果。

若要达到每个group头部等高效果,
tableView.sectionHeaderHeight = cellSectionHeight;
tableView.sectionFooterHeight = 0;
tableView.contentInset = UIEdgeInsetsMake(cellSectionHeight - 35, 0, 0, 0);

转载:
http://www.cnblogs.com/wangxiaofeinin/p/3532831.html?utm_source=tuicool&utm_medium=referral

你可能感兴趣的:(automaticallyAdjustsScrollViewInsets在UITableView中的使用)