我有一个包含UIViewControllerUIScrollView。最初未设置automaticallyAdjustsScrollViewInsets(因此应默认为YES)。

在某些用户交互中,我将automaticallyAdjustsScrollViewInsets设置为NO,因此我可以在滚动视图中设置自己的contentInset

这样做之后,什么都没有发生。之后我要打什么电话?

在滚动视图上调用setNeedsDisplay没有帮助。

最佳答案

如果要使滚动视图的初始显示包括初始内容偏移,请在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];
}

关于ios - 设置contentInset或automaticAdjustsScrollViewInsets使其实际应用后,我该怎么办?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22598865/

10-10 13:29