2017-01-05 3 views
0

탭의 경우 collectionView, 스 와이프 페이지의 경우 pageViewController으로이 인터페이스를 만들었으며 스 와이프 할 때 페이지의 인덱스를 가져 오는 중 collectionViewTab 변경 방법은 무엇입니까? 아무도 말해, collectionViewTab 아래쪽 표시기를 업데이 트하는 방법 ??? 이 내가 얻고 올바른 페이지 지수스위프트 : UICollectionView 및 UIPageViewController 모두 스 와이프

func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) { 

    } 

:

enter image description here

답변

2

당신은 옳은 길이다. UIPageViewController으로 스 와이프하면 현재 페이지 색인이 생성됩니다. 해당 인덱스를 클래스 변수에 저장하고 cellForItemAtIndexPath에 사용하여 탭 인덱스 일치가 현재 UIPageViewController과 일치하는지 확인해야합니다. 따라서이 같은 작동합니다 :

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier("reuseIdentifier", forIndexPath: indexPath) 

     if indexPath.item == classIndexVariable { 
     bottomIndicator.isHidden = false // show indicator at current position 
     }else{ 
     bottomIndicator.isHidden = true // hide indicator from all only shows in matched condition 
     } 

     return cell 
    } 

는 설명하기 : 을에서 cellForItemAtIndexPath 당신이 UIPageViewController didFinishAnimating 기능에 저장 지수와 현재의 셀 인덱스를 비교해야합니다. 일치하면 활성 탭 표시 하단 표시기. 색인이 일치하지 않으면 탭이 활성화되지 않으므로 맨 아래 표시기가 표시되지 않습니다.

내가 말했듯이, 이것은 단지 snipper입니다. 코드가 어떻게 생겼는지 모르겠다. 나는 이렇게 생각하고있다.

+0

나는 U가 정확한 해결책을 주었다고 말했습니다. – User