Я прокручиваю несколько горизонтальных коллекций в последний (крайний правый) элемент, используя:
timelineCollectionView.scrollToMaxContentOffset(animated: false)
postsCollectionView.scrollToMaxContentOffset(animated: false)
, это прекрасно работает, за исключением того, что я не могу понять, где их разместить.
Различные места, которые я пробовал:
viewWillAppear - он не прокручивается, как будто ячейки еще не загружены полностью.
viewDidAppear - он отлично прокручивается.Потрясающие!За исключением того, что теперь вы можете видеть его прокрутку, даже если вы положили анимацию: ложьCollectionView загружается в крайнее левое положение в течение доли секунды перед обновлением в крайнее правое положение
viewDidLayoutSubviews - это работает отлично - время и все!Однако он вызывается много раз.Если бы я мог определить, какое подпредставление было только что выложено, возможно, я мог бы прокрутить его там, но я не уверен, как.
Есть ли лучший вариант?Как я могу это сделать?
Также вот функции, которые я использую для установки смещения содержимого:
extension UIScrollView {
var minContentOffset: CGPoint {
return CGPoint(
x: -contentInset.left,
y: -contentInset.top)
}
var maxContentOffset: CGPoint {
return CGPoint(
x: contentSize.width - bounds.width + contentInset.right,
y: contentSize.height - bounds.height + contentInset.bottom)
}
func scrollToMinContentOffset(animated: Bool) {
setContentOffset(minContentOffset, animated: animated)
}
func scrollToMaxContentOffset(animated: Bool) {
setContentOffset(maxContentOffset, animated: animated)
}
}