2017-09-28 8 views
0

부모 스크롤 뷰의 높이를 계산할 때 하위 컬렉션보기 높이를 조정해야합니다. 높이 계산 올바른 값을 생성하지만 자체를 조정하려면 "그랜드 자식"collectionView 가져올 수 없습니다.UICollectionView가 중첩되어있을 때 ScrollView 높이 문제 설정

storyBoard 내의 모든 제약 조건은 scrollView 컨테이너 뷰 높이에 묶여 있으므로 값을 조정할 때는 모두 줄을 따라 조정해야합니다.

흐름은 다음과 같습니다

UIScrollView -> UICollectionView -> UICollectionView

내 계산은 다음과 같습니다 그것은 내가 필요한 것보다 작다 경우

var count: CGFloat = 370 

    guard let currentLegs = active.legs![cell].feet else { return } 

    for _ in currentLegs { 
     count += 70 
    } 

    UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseOut, animations: { 

     if count > 540 { 
      self.scrollView.contentSize.height = count 
     } else { 
      self.scrollView.contentSize.height = 540 
     } 

    }, completion: nil) 

    print(count) 

은 위의 다른 값으로 높이와 기본값을 계산합니다.

scrollview.layoutIfneeded() & setNeedsLayout() 설정을 시도했지만 이로 인해 collectionView가 자체적으로 다시 그리게되어 충돌이 발생합니다.

최상위 수준에서 "그랜드 자식"컬렉션보기를 조정할 수 있습니까?

감사

답변

1

@IBOutlet weak var scrollViewHeightConstarint: NSLayoutConstraint! 

.....

override func viewDidLayoutSubviews() 
{ 

    self.scrollViewHeightConstarint.constant = "#WhatYouNeed#" 

    self.View.layoutIfNeeded() 


} 
시도