0
UIScrollView에서 페이징을 허용하지만 페이징을 한 방향으로 제한하는 방법이 있습니까?스크롤 뷰에서 단방향 페이징
예를 들어 사용자가 배경 (왼쪽)으로 페이지를 넘길 수는 있지만 앞으로는 페이지하지 못하게 할 수 있습니다. 어떤 유형의 온 보딩에 사용 사례가 있습니다. 나는 앞으로 나아갈 수있는 버튼을 추가 할 수 있다는 것을 알고 있습니다.
UIScrollView에서 페이징을 허용하지만 페이징을 한 방향으로 제한하는 방법이 있습니까?스크롤 뷰에서 단방향 페이징
예를 들어 사용자가 배경 (왼쪽)으로 페이지를 넘길 수는 있지만 앞으로는 페이지하지 못하게 할 수 있습니다. 어떤 유형의 온 보딩에 사용 사례가 있습니다. 나는 앞으로 나아갈 수있는 버튼을 추가 할 수 있다는 것을 알고 있습니다.
내가 아니라 당신이 원하는하지만 무엇 UICollectionView 사용에 대한 이해 한 경우 나도 몰라 :
lazy var onBoardingCollectionView: UICollectionView = {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.minimumLineSpacing = 0
layout.minimumInteritemSpacing = 0
let cv = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
cv.showsHorizontalScrollIndicator = false
cv.showsVerticalScrollIndicator = false
cv.isPagingEnabled = true
return cv
}()
을 당신은 화면의 크기뿐만 아니라에 의해 UICollectionViewDelegateFlowLayout의 방법으로 당신에게 사용자 정의 셀을 추가 :
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: SCREENW, height: SCREENH)
}
당신이 표시하고이 방법 DataSource에 수집 및 이전을 제거하는 현재 셀을 얻을 시도 할 수 있습니다 특정 방향으로 가고 싶어하지 않는 경우
.func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let currentPage = Int(scrollView.contentOffset.x/scrollView.frame.width)
print("current cell: ", currentPage)
}