objective c UICollectionView:수평 및 수직 스크롤을 지원하는 UICollectionViewLayout을 정의하는 방법은 무엇입니까?



objective-c ios6 (4)

지금은 UICollectionView 를 만들려고 UICollectionView , 이는 rowscolumns 있는 간단한 excel-like-spreadsheet 표시해야합니다. 이것은 UICollectionViews 의 쉬운 작업입니다. 그리고 실제로 모든 grid framework 아니라 UICollectionView 에서 구현하고 UICollectionView .

그러나 지금 나는 조금 매달리고있다. UICollectionViewDelegateFlowLayout horizontally 또는 vertically 방향으로 만 scrolling 할 수 있기 때문에 불행히도 UICollectionViewDelegateFlowLayout 사용할 수 없다는 것을 알아 냈습니다. 하지만 두 방향으로 scrolling 해야합니다.

따라서 UICollectionViewLayout 을 사용해야 하지만 , UICollectionViewLayout 좋은 예제를 찾지 못했습니다. 사용 방법을 설명합니다. UICollectionViewLayout 하위 클래스를 사용하여 rowscolumns 을 지원하는 방법을 보여주는 예제가 있습니까?

미리 감사드립니다.


Answer #1

3 샘플 프로젝트를 해부하지 않아도되는 답변

UICollectionViewLayout 하위 클래스에서 :

  1. -(CGSize)[collectionViewContentSize] 구현하고 UICollectionView 의 크기보다 높이와 너비가 더 큰 크기를 반환합니다. (via via : self.collectionView.frame.size )
  2. 프레임 크기가 아닌 내용 크기 내에서 UICollectionViewCell 의 레이아웃을 계산합니다.

참고 : UICollectionView에서 스크롤이 활성화되어 있는지 확인하십시오. 기본적으로 사용하도록 설정되어 있습니다.


Answer #2

사용자 정의 레이아웃을 사용하여 간단한 가로 및 세로 스크롤 격자를 구현하는 예제를 추가했습니다. https://github.com/neildavis/MyCollectionView

내 예제에서는 iOS 5 지원이 필요했기 때문에 PSTCollectionView를 사용하지만 UICollectionView에 API가 호환됩니다. (사실 그것은 호환성 클래스 (PSUICollectionView 등)를 사용하여 iOS 6에서 UICollectionView를 사용하고 iOS 5에서 PSTCollectionView 등을 사용하도록합니다.) iOS 6 전용 UIKit 구현으로 되돌리려면 'PS'접두사를 제거하십시오. .


Answer #3

UICollectionViewFlowLayout 확실히 할 수 없습니다. "그리드 레이아웃은 수평 또는 수직으로 한 축을 따라 스크롤됩니다."

UICollectionViewLayout 의 서브 클래스입니다. UICollectionViewLayout 의 하위 클래스를 UICollectionViewLayout 양방향으로 스크롤 할 수있는 것처럼 보입니다.

페이지에서 무엇을 의미합니까, scrollview 와 같은 페이징을 원하십니까? UICollectionView 세로 스크롤에 대한 UIScrollView 가로 스크롤 사용 내부 궁금하네요.






uicollectionviewdelegate