2014-03-05 4 views
0

UIScrollView에 하위 뷰를 추가하는 "모범 사례"가 있습니까? 예를 들어UIScrollView에서 하위 뷰를 추가 할 위치

:

I는 서버로부터 설명을 상응하는 이미지를로드하는 UIViewController 있습니다. 이미지 + 설명을 가로 스크롤보기에 추가해야합니다.

데이터가로드되면 UIView에이 방법을 작성해야합니까? 또는 내 UIViewController에서 더 편리합니까?

+1

'UITableView'를 사용하지 않는 특별한 이유는 무엇입니까? – Desdenova

+0

테이블을 세로로 스크롤하는 대신 가로 스 와이프해야합니다. –

+1

그러면 'UICollectionView'를 고려하십시오. – Desdenova

답변

0

컨트롤러가보기 (스크롤보기)를 데이터 (이미지)에 연결해야하므로보기 컨트롤러가 가장 적절합니다.

스크롤 뷰의 레이아웃이 단순하면 제어기로 완전히 완료 할 수 있습니다. 그러나 레이아웃이 복잡한 경우 UIScrollView의 서브 클래 싱을 고려하고 그 중 일부 레이아웃을 처리하는 것이 좋습니다 (UITableView 작동 방식과 유사).

표준 응용 프로그램 아키텍처에 대한 자세한 내용은 Apple 개발자 사이트의 Concepts in Objective-C Programming을 참조하십시오. 그것을보고 내 방식으로

+0

MVC 패턴의 'UIViewController'를 뷰와 데이터 사이의 연결로 사용하는 것과 같은 방법으로 생각했습니다! 답변 해주셔서 감사합니다!:) –

0

, 우려의 분리는 다음과 같이 무너 뜨리는 것입니다 :

  • UIViewController이 이미지를 가져오고 UIView
  • UIView에게 전달을 담당하는 표시에 대한 책임 그들.

따라서 -addSubview:은보기 구현 세부 사항이므로보기로 이동해야하며 컨트롤러에 불투명해야합니다.

이 모두 UIViewControllerUIView 혼란 그들에게 (A MVC의 의미에서) 개념 "보기"의 ​​두 부분을 만들기 위해 같은 방법으로 얽혀있는 의견의 많음이있다,하지만 난 여전히 청소기 이런 식으로 생각합니다.

자세히 알 수 있듯이 의견이 다릅니다. :) 개인적으로 MVC에 대한 절망과 함께 Model-View-ViewModel은 훨씬 더 명확하고 깨끗하며 더 현명한 접근 방법이라고 생각합니다.

0

UICollectionView이 이미지 설명을 표시하기위한 것입니다 제외 jQuery과의 것과 동일합니다 도움이 될 것입니다 생각합니다.

다음은 수행 할 수있는 작업입니다.

  1. UICollectionView를 만들면 UIScrollView의 하위 클래스입니다. 그래서 UIScrollview가 필요 없습니다.
  2. 각 항목에 대해 이미지와 설명이 모두 필요하므로 UICollectionView에서 UICollectionViewItem을 삭제하는 것이 좋습니다.
  3. 별도의 사용자 지정 UICollectinViewItem 클래스를 만들고 .xib 파일 (UIImageVIew 및 UILabel)에 UICollectionItem을 정의합니다.
  4. "- collectionView : cellForItemAtIndexPath :"데이터 소스 메서드를 정의 할 때 여기에 UICollectionVIewItem 클래스를 정의하십시오. 정확히 우리는 사용자 정의 UITableVIewCell을 정의합니다.
관련 문제