2016-07-21 6 views
0

Swift 2.2를 사용하여 iOS 8.0 이상을 타겟팅하는 앱을 개발 중입니다. 기기 방향에 따라 다른 수의 열을 표시하는 UICollectionView이 있습니다. viewWillTransitionToSize에서 나는 indexPathsForVisibleItems()을 사용하고 가장 작은 색인 경로를 찾아 처음 보이는 항목을 결정하고 방향 변경시 해당 항목으로 스크롤합니다.반투명 탐색 모음 아래에 포함되지 않은 indexPathsForVisibleItems() 가져 오기

indexPathsForVisibleItems()에는 반투명 탐색 모음 아래에있는 항목이 포함되어있어 스크롤이 몇 개의 셀에 의해 꺼져있는 경우를 제외하고는 잘 작동합니다. 탐색 바 아래에서 볼 수있는 셀을 알 수있는 방법이 있습니까?

+0

네비게이션 막대가 얼마나 큰지 알 수 있으며 UICollectionView에서 해당 CGPoint에서 셀을 가져올 수 있습니다. 그런 다음 해당 셀을 맨 위로 스크롤 할 수 있습니다. – Putz1103

+0

@ Putz1103 아, 고맙다. 나는'indexPathForItemAtPoint'를 놓쳤다. 답변을 작성 하시겠습니까? –

답변

1

회전중인 특정 셀로 스크롤하려면 반투명 탐색 모음의 높이와 셀의 y 좌표를 취하여 indexPathForItemAtPoint으로 전화를 걸어 화면에서 해당 셀의 실제 위치를 가져올 수 있습니다. 그러면 실제로 볼 수있는 첫 번째 셀이 표시됩니다 (오버레이가 아님). 그런 다음 UICollectionView에게 회전 중 해당 셀로 스크롤하도록 지시 할 수 있습니다.