2012-05-29 3 views
2

(내 첫 번째 질문은 여기에)UIScrollView에 여러 UIViewController를 포함 시켜도됩니까?

메일에서 볼 수있는 기능을 구현하려고합니다. 이전 또는 다음 메일을로드하는 데는 위로/아래로 버튼이 있습니다.

제 경우에는 약 100 개의 항목이있는 UITableView가 있고 행을 선택하면 거대한 빈 UIScrollView가로드됩니다. 그리고 DetailView가로드 된 오른쪽 오프셋에 표시됩니다. 이 거대한 scrollview (페이징 가능)에서 각 페이지는 화면의 크기입니다. DetailView에는 콘텐츠 (텍스트)와 사물을 수행 할 수있는 버튼 (사파리의 메일, 열린 링크 등)이 표시되는 UIScrollview가 포함되어 있습니다.

NSView를 사용하는 (DetailView *) dequeueRecycledPage 메서드를 사용하므로 최대 3 개의 UIViewControllers가 있습니다. (현재, 이전, 다음). 빠른 응답. 내 DetailView가있는 UIView에서 서브 클래스되어 현재 사용자가 새로운보기 슬라이드를 볼 수 있도록

을, 그리고 그것을 작동합니다. "YES : 애니메이션로 scrollRectToVisible는"네비게이션 바에있는

버튼은하는 거대한있는 ScrollView를 말할 것이다. 그러나이 DetailView의 버튼 동작에 대해 많은 위임을 원하지는 않습니다. 차라리 DetailView에서 처리하도록하십시오. 그래서 내 DetailView UIViewController에서 하위 클래스 싶습니다. 하지만 3 개의 UIViewController (한 번에 하나씩 만 표시됨)가있는 거대한 빈 스크롤 뷰가 있습니다. 그러나 어쩌면 애플이이 일에 열중하지 않을 수도 있고 어쩌면 내가 어떻게 든 곤경에 빠질 수도있다.

그래서 제 질문은이 내려 온다 :

  • 이있는 UIScrollView 하나 이상의 UIViewControllers (단 1 번에 표시) 를 포함 할 수 있습니다 또는이 "하지"또는 단순히 잘못? 당신의 도움에 미리

덕분에, G

답변

1

하나의 UIScrollView에 3 가지 UIViewController의 UIView가 포함되어있는 것은 이론적으로 가능하지만 실제로 수행하려는 작업에 가장 적합한 방법은 아닙니다.

일반적으로 더 나은 디자인은 UIScrollView가 UIViewController에 속한 다음 UIViews (또는 그 하위 클래스)를 UIScrollView에 추가하는 것입니다. 3 개의 다른 UIViewController를 만들고 UIScrollView에 뷰를 추가하는 대신 3 개의 다른 UIView를 만들고 UIScrollView에 추가 할 수 있습니다.

+0

안녕하세요, 감사합니다. 나는 이것이 갈 길이라고 생각한다. 나는 MVC 패러다임을 고수해야한다. – GFunkloostar

+0

나는 여기서 파티에 늦었지만 이것이 "단일 작업"으로 UIViewController를 갖는 것에 대한 전체 생각을 깨뜨리지는 못하나요? 나는 비슷한 질문을하려고했다. 내 페이징 스크롤보기의 각보기는 UITableView와 복잡하며 각각 자체 서버 요청 등이 있습니다. 하나의 UIViewController에이 모든 것을 넣는 것은 잘못된 방법으로 보입니다. – Fogmeister

0

난 당신이 하나의 스크롤 뷰 내에서 두 (따라서 여러)보기, 내가 몇 번을했다 일하는 회사를 가질 수 있습니다 알고 있습니다.

내가 정확한 코드가 무엇인지 모르겠지만, 당신은 아마 같은 것을 할 것입니다 :보기를 숨기려면

myScrollView.addSubView(viewName). 

을, 이렇게 :

if (logicToHideViewIsTrue) { 
    [viewName setHidden:YES]; 
} 

상세 정보가 될 수 있습니다 찾을 수 here

0

일반적으로 UIViewController는 전체 화면을 포함하며 한 번에 하나만 표시되어야합니다. 메일 응용 프로그램보기를 구현하는 방법에는 UINavigationController, UIViewController 및 UIScrollView가 포함됩니다.

UIViewController는 탐색 도구 모음에 위/아래 단추를 ​​추가해야합니다.

UIViewController에는 UIScrollView 여야하는보기가 있습니다. 위/아래 버튼을 누르면 UIViewController가이 메시지를 수신 한 다음 UIScrollView에 새로운 내용으로보기를 변경하도록 지시해야합니다.

관련 문제