2013-07-29 1 views
0

나는 다음 뷰 컨트롤러가있는 iOS 앱 건물입니다 내 다른 장소에서 사용자에게 깜짝 선물 메시지를 팝업 유연하고 우아한 방법을 설계해야합니다iOS 앱 내 응용 프로그램

1) ProductViewController 것은 -의 회전 목마를 표시 제작품. 사용자가 제품을 회전하면보기에서 제품의 세부 정보를 볼 수있는 버튼을 선택하거나 장바구니에 제품을 추가하는 다른 버튼을 선택할 수 있습니다.

2) HistoryViewController - 제품에 대한 자세한 내역을 세로로 표시합니다 스크롤 타임 라인 (UIScrollView를 사용하여 구현).

3) GameViewController - 순전히 이들 사용자가 그 전후 화살표 버튼을 이용하여 뷰 세트를 통해 스크롤 트리 비아 게임을 할 수있는 게임들이있다 (동수 20)

OK 셋업 ... 여기 내 디자인 문제의 핵심은 다음과 같습니다. 사용자가 앱의 특정 키 포인트에 도달하면 사용자를위한 팝업 메시지를 만들고 싶습니다. 사용자가 팝업이 다시 나타납니다

(즉 ProductViewController에) 회전 목마보기에서 3 제품을 보는 것처럼 사용자가 중간에 오면 바로이 핵심 포인트 "앵커 포인트"

그래서 예를 들어 팝업이 나타납니다를 호출 할 수 있습니다 HistoryView 아래의 HistoryView (HistoryViewController에서)

사용자가 GameViewController에서 7 개 항목을 볼 때 팝업이 다시 나타납니다.

내가 쉽게 Q1 (최소한의 코드 변경으로 주로 구성을 통해)

팝업이 표시되는 응용 프로그램에서 그 장소를 변경할 수 있을까요) 유연한 방식으로 이러한 "앵커 포인트"를 추가 할 이 디자인을 사용하는 데 가장 좋은 방법이나 디자인 패턴은 무엇입니까?

Q2) 이후 향상된 기능으로 사용자가 특정 앵커 포인트 수를 통해 사용자에게 특별한 메시지를 보낼 수있는 핵심 앵커 포인트로 앵커 포인트를 사용하고 싶습니다.

미리 도움 주셔서 감사합니다.

답변

1

아마도이 지식을 소유 할 별도의 컨트롤러 (아마도 싱글 톤)가 있다고 생각할 것입니다. 메시지가 표시되기 전에 필요한 모든 구성 및 트리거 수를 처리합니다.

앱의 다른 컨트롤러는 카운트 또는 모니터링 대상에 대해 알지 않아야하므로 알림이 좋은 옵션입니다. 앵커 포인트를 만드는 이벤트 유형에 대한 알림 집합을 정의하고 모든 컨트롤러가 이벤트가 발생할 때 알림을 게시하도록합니다.

별도의 컨트롤러는 메시지를 계산하고 표시하는 알림을 관찰합니다. 디스플레이가 경고 또는 모달 디스플레이 인 경우 쉽습니다. 그렇지 않은 경우, 컨트롤러는 루트 컨트롤러에 대한 링크를 가져야 만 현재 상위 컨트롤러를 얻을 수 있습니다 (경고 또는 모달이 바람직합니다).

+0

감사합니다. Wain, 매우 우아합니다. 나는 경고 또는 모달에 동의한다 - 그것이 내가 팝업의 전시를 할 필요가있는 방법이다. 한가지 질문이 있습니다 - 그 싱글 톤 컨트롤러를 구현하는 방법에 대해 좀 더 자세히 설명해 주시겠습니까? 그 UIViewController 또는 그냥 모델 개체입니다. 나는이 권리를 이해하지 못할 수도 있지만 UIViewController는 결코 뷰로 푸시되지 않습니다 ...? 당신은 저를 구현하는 방법의 샘플을 가르쳐 주시겠습니까? – CoolDocMan

+0

그것은'NSObject'의 서브 클래스입니다. 그것은보기 자체가 없습니다. Obj-C에서 싱글 톤을 만드는 방법을 찾으십시오. 디스패치가 가장 좋을 수도 있습니다. – Wain

+0

예, 싱글 톤을 만드는 방법을 알고 있지만 문제는 NSObject 인 경우 어떻게 표시하거나 경고보기의 표시를 트리거 할 수 있습니까? 다른 NSNotification을 통해 이루어 졌습니까? – CoolDocMan

1

여기 내 대답은 잘하면 질문을 이해하고 이것이 도움이됩니다.

팝업 관리자 클래스를 만들고 사용자 진행 과정을 추적하고 사용자가 가지고있는 놀라움을 알리도록 팝업 관리자 클래스 팝업 알림 메시지를 표시하려면 먼저 앱 위임 (응용 프로그램 위임?)을 만들어야합니다. 그들을 위해.

관련 문제