가로 UICollectionViewFlowLayout
을 사용하는 UIViewController
에 UICollectionView
이 포함되어 있습니다. 내 UIStoryboard
에서 만든 프로토 타입 셀을 사용하고 있습니다. 사용자 지정 페이징을 만들고 싶습니다. 따라서 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
을 사용하고 있습니다.indexPathForItemAtPoint가 항상 nil을 반환하는 이유
문제는 내가 스크롤 할 지점에서 스크롤이 멈추는 지점 인 targetContentOffset에 해당하는 indexPath
을 얻으려고 할 때마다 해당 지점이 컬렉션 안에 분명히 있음에도 불구하고 콜렉션 뷰가 nil을 반환한다는 것입니다. contentSize를 봅니다.
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
NSIndexPath *indexPath = [_collectionView indexPathForItemAtPoint:(*targetContentOffset)];
// Do something with indexPath
}
내가 뭘 잘못하고 있니?
? '_collectionView' 자체가 nil인지 먼저 확인하십시오. – 7usam
scrollView 변수 자체를 사용하려했지만 결과는 같습니다. 나는이 메소드를 호출 할 때 양쪽이 모두 0이 아니라는 점에 긍정적이다. – DrMonkey68