2011-03-16 3 views
10

설정 페이지에서 상향식 또는 상향식 애니메이션을 만들고 싶었습니다.
(일반적으로 pushViewController 될 것이다) 그리고 상향식 (bottom-up)이모달보기 란 무엇입니까?

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated; 

어떤 사람들은 당신이 (애플 반드시 좌우 기본값으로 애니메이션을 만든 애플의 HIG에 충실하는 것이 좋습니다 것 같습니다 .. 함께 할 수있는 것을 발견 pushViewController) 모달보기를 사용하지 마십시오.

모달보기가 무엇이며 다른 사람들이 viewController를 밀거나 팝핑하기 위해 어떤 애니메이션을 사용하는지 궁금합니다.

감사합니다.

답변

11

모달보기는 해제 될 때까지 다른 UI와의 상호 작용을 방지합니다.

모달 뷰 컨트롤러는 모달로 표시되는 UIViewController 클래스입니다. View Controller가 모달로 표시되면 지정된보기가있는 경우 기존보기가 무엇이든간에 (사용자가 지정된 경우 애니메이션을 사용하여) 사용자가 무엇을하고 있는지를 알기 전에이보기를 무시합니다.

당신이 방법을 사용할 수 있습니다, 모달 방식으로 뷰 컨트롤러를 제시하기 : 내가 모달 뷰를 사용할 때마다

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated; 

(즉 무엇을하기 전에 완료해야하는보기) I 이 메서드를 호출하고 뷰 컨트롤러를 표시하기 위해 Apple의 표준 애니메이션을 사용합니다 (위의 인스턴스 메서드에는 뷰의 애니메이션 방법을 지정하는 매개 변수가 없습니다. Apple에 표준 방식이 있기 때문입니다).

+1

James, 당신은 모달보기가 기존보기를 "덮어 버린다"고 말합니다. 경우에 따라 기존보기를 포함하지 않습니다. 그러나 사용자가 상호 작용할 것을 요구합니다. 예를 들어 화면 가운데에 표시되는 경고가 있으며 이전보기로 돌아 가기 전에 예 또는 아니요를 누르라는 메시지가 표시됩니다. –

+0

정말 좋은 지적입니다. 문구를 "표지"로 변경하겠습니다. 분명히 부모보기와 상호 작용할 수는 없지만 모달보기 컨트롤러의 프레젠테이션 중 속성 중 하나는 다른 작업을하기 전에 해제해야하기 때문입니다. –

+1

모달보기가 .. 1. 다른 일을하기 전에 처리해야합니다. 2 ... 여전히 혼란 스럽습니다. "모달"은 자체적으로 완료되지 않았 음을 의미합니까? .. 원어민이 아니기 때문에 여기 – eugene