2009-10-04 2 views
0

Apple의 PageControl 예제를 살펴본 결과 아키텍처 요구 사항이 다릅니다. 이 예제에서 스크롤보기 및 페이지 컨트롤 객체는 응용 프로그램 위임 수준에 있습니다. 즉, 응용 프로그램의 모든보기에 스크롤보기와 페이지 컨트롤이 나타납니다.UIPageControl 및 UIScrollView를 사용하여 응용 프로그램을 디자인하는 데 도움이 필요합니다.

그러나 이러한 컨트롤이 표시되지 않아야하는 정보 버튼 (지금은)에서 토글 된 "설정"보기가 있습니다. 따라서 스크롤 뷰, 페이지 컨트롤 및 컨트롤러 객체를 레이어 아래로 이동해야하며이 작업을 가장 효과적으로 수행하는 방법에 어려움을 겪고 있습니다.

예를 들어 기본 응용 프로그램보기는 금속 (주기 요소)로 구성됩니다. 이보기에서 여기에서 내려 오는 모든보기에서 스크롤보기, 페이지 컨트롤 및 정보 단추가 필요합니다. 각 메탈은 다른 이미지, 계산 등이 표시 될 자체 서브 클래스를 갖지만 동일한 스크롤보기, 페이지 컨트롤 및 viewControllers 배열을 공유하기 위해 이러한 서브 클래 싱 된 각 요소가 필요하다고 생각합니다. 싱글 톤이 필요합니까?

답변

0

설명하는 것은 네이티브 날씨 애플리케이션의 작동 방식과 같습니다. 스 와이프 때마다 정보 표시등이 현재보고있는 페이지의 일부로 렌더링됩니다. 그러나 어떤 정보 표시등을 가볍게 두드리면 뒤집어도 같은 설정이됩니다. 애플이 그렇게했기 때문에 UI가 제대로 작동 할 것이라고 생각하는 것은 명백하다. 당신이 똑같이 할 수있는 이유가 없습니다.

이 경우에는 싱글 톤을 만들 필요가 없으며 [UIApplication sharedApplication]을 싱글 톤으로 사용하여 delegate 속성을 통해 사용자 지정 응용 프로그램 대리인에게 전달할 수 있습니다.

+0

예 날씨 기능과 똑같이 내 앱 기능을 만들어야합니다. 내 문제는 예제로보기 위해 날씨에 대한 소스 코드가 없다는 것입니다. PageControl 소스 예제에는 응용 프로그램 대리인의 페이지 컨트롤과 스크롤보기가 있습니다. 날씨 응용 프로그램의 경우에는 그렇지 않을 것입니다. 설정 페이지로 넘어 가면 더 이상 페이지 컨트롤이 보이지 않으므로 더 이상 스크롤 할 수 없기 때문입니다. – radesix

+0

그 시점에서 할 수있는 일은 단순히 수퍼 뷰에서 ScrollView를 제거하고 스왑 중에 설정을 추가하는 것입니다 – slf

0

Crème에서 내가 설명하는 것을 정확히보세요. 메인보기는 scrollview + pagecontrol입니다. 앱을 설정 모드로 시작하면 페이지 컨트롤이없는 설정 패널이 표시됩니다.

간단히 말해서 최상위 UIViewController가 있으며, 해당 viewcontroller의 scrollview 및 pageview 하위를 모두 작성해야합니다. 또한 설정의 경우 플립 애니메이션을 사용하여 모달 설정 대화 상자를 최상위 UIViewController에 애니메이션으로 적용합니다.

관련 문제