2017-02-08 1 views
0

나는 뷰의 무한한 "행렬"을 만들고 있습니다. 내 MainView로드 할 때 주위에보기를 만듭니다. 그런 다음 예를 들어 오른쪽보기로 스크롤하면 오른쪽보기 주위에 새로운보기가 작성됩니다.iOS/Swift | 보기의 무한한 매트릭스 : ScrollView 또는 CollectionView?

enter image description here

을 나는이 개 질문 부탁 해요 :

1 내가 있는 ScrollView 사용하고 추가해야을

나는 내가하고 싶은 것을 도식화 시도 또는 CollectionView 및 collectionViewCells 추가 (크기가 MainV 인 경우) 그것에서)? 어느 쪽이 더 낫고 왜? 사용자가 위쪽 및 왼쪽을 스크롤 할 수 있기 때문에

2이 어떻게에서보기/collectionViewCells을 추가 관리합니까 ... 내가있는 ScrollView 및 뷰를 사용하려고했지만 CollectionView 무한 매트릭스 매우 강력 할 수있는 재사용 가능한 세포 수 있습니다 "인덱스 -1"다시로드하거나 이동하지 않고?

+0

다른보기, 기본보기,이 UIViewController 또는 UIView입니까? –

+0

MainView는 ScrollView 또는 CollectionView의 UIView입니다. 현재는 – Aximem

답변

1

아니요. 자신의 UIView 하위 클래스를 만들고 UIPanGestureRecognizer을가집니다. 팬이 인식되면 하위 뷰의 위치를 ​​업데이트하십시오. &을 추가하면 자녀가 너무 많아서 가장자리를 벗어날 수 없으므로 어린이가 너무 많지 않습니다. (보기가 화면 밖으로 이동하면 removeFromSuperview 수 있습니다).

+0

입니다. 사용자가 멀리 이동하더라도 다시 올 수 있고 다시 표시 할 수 있기 때문에 모든 뷰를 유지해야합니다. 따라서 UICollectionView에 대해 생각하고 셀을 다시 사용합니다. – Aximem

+0

@ Aximem 메모리에있는 모든 뷰를 가짐으로써 앱을 죽이거나 방대한 UI를 가지고 있다면 atleast로 사용자 인터페이스를 매우 무겁게 만들 수 있습니다. 그것은 당신이 사용했던 거대한 디자인에 대한 좋은 습관이 아닙니다. 나는이 해결책을 지침으로 삼을 것이다. –

+0

자, UICollectionView가이 메모리 문제를 해결하는 데 도움이 될 수 있다고 생각했지만 실제로는 manyyyyy 뷰를 표시 할 수도 있고 앱 또는 사용자 상호 작용이 느려질 수도 있습니다. – Aximem

0

Graham이 맞고 MVC 모델을 따르면 숨겨진/멀리있는 뷰는 신경 쓰지 않아야합니다. (뷰 뷰에서와 같이) 사용자 (또는 컨트롤러 ..)가 모델에 요청합니다. 정확한 "키"를 사용하여 표시 할 데이터

밝은 샘플은 MapKit 맵입니다. 사용 타일은 비슷한 접근 방식을 사용할 수 있습니다.