我的UIViewController
包含UIScrollView
。最初未设置automaticallyAdjustsScrollViewInsets
(因此它应默认为YES
)。
在某些用户互动中,我将automaticallyAdjustsScrollViewInsets
设置为NO
,因此我可以在滚动视图上设置自己的contentInset
。
这样做之后什么也没发生。之后我该怎么打电话?
在滚动视图上调用setNeedsDisplay
无效。
答案 0 :(得分:2)
如果您希望滚动视图的初始显示包含初始内容偏移,请在viewDidLoad
中设置contentInset值。
如果您希望动态更改contentInset并同时更改contentOffset,则需要在contentInset的同时调整contentOffset。例如:
// Adjust content inset and initial offset to account for the header
UIEdgeInsets contentInset = self.collectionView.contentInset;
contentInset.top += self.stickyHeaderView.bounds.size.height;
self.collectionView.contentInset = contentInset;
if (-1 * self.collectionView.contentOffset.y < contentInset.top) {
CGPoint contentOffset = self.collectionView.contentOffset;
contentOffset.y = -1*contentInset.top;
[self.collectionView setContentOffset:contentOffset animated:YES];
}