2010-02-17 3 views
1

3 개의 뷰 컨트롤러가 있습니다. 기본보기 (controller1보기)가 먼저 표시됩니다. 버튼 선택에 따라 두 번째보기 (controller2의보기)가 표시됩니다. 이보기에는 몇 개의 버튼과 홈 버튼이 있습니다. 그것들을 선택하면 애니메이션이있는 세 번째보기 (controller3의보기)가 표시됩니다. 홈 버튼을 선택하면 기본보기 (controller1 '보기)가 표시됩니다. 내가 가진 문제는 컨트롤러 2의 뷰에서 컨트롤러 3의 뷰를 표시하는 버튼을 누르면 애니메이션 중에 컨트롤러 1의 뷰가 백그라운드에서 보입니다. 그걸 어떻게 없앨 수 있니?아이폰에서 3 개의 뷰 컨트롤러 사이를 뒤집기

+0

View Controller를 어떻게 표시합니까? UINavigationController 또는 smth를 사용합니까? – Vladimir

+0

아니요 사용하지 마십시오 UINavigationController 응용 프로그램의 위임에서 [window addSubview : viewController1.view]를 추가합니다. 그런 다음 각 컨트롤러의 구현 파일에서 NIB에서 다음보기 컨트롤러를 인스턴스화하고 하위보기로 추가합니다. – phonydev

답변

0

애니메이션 시퀀스 전에 superview에서 controller1의보기를 제거 할 수 있습니다. 컨트롤러 1에서 컨트롤러 2로 전환하는 과정에서이 작업을 수행해야합니다.

[controller1.view removeFromSuperView]; 

물론 어느 시점에서 다시 추가해야합니다.

+0

두 번째 컨트롤러 파일에이 코드 줄이 있어야합니다. 첫 번째 컨트롤러는 어떻게 기억합니까? 나는 그것을 논증으로 전달해야 하는가? 어떻게해야할지 모르겠다. – phonydev

+0

UIView 애니메이션 블록을 사용하고 있습니까? 그렇다면 해당 블록의 일부 여야합니다. 즉, 첫 번째 컨트롤러에 있거나 버튼 누름의 동작 메서드에있을 것입니다. –

1

presentModalViewController과 같은 소리가납니다. 아마도 애니메이션 중에 view1이 보이는 다른 문제를 해결하지 못할 것입니다. 나는 시도하고 view1에 사용할 hidden 속성을 설정합니다.

관련 문제