4

내 응용 프로그램은 UINavigationController 아래에 있으므로 UINavigationBar 아래에 있습니다. 이 UINavigationBar 위에 모달 뷰 컨트롤러를 제시하고자합니다. 왜냐하면 내가 작성한 컨트롤러가이 컨트롤러보다 아래에있는 경우 (즉,이 뷰 컨트롤러를 표시 할 때 탐색 모음을 숨기려고합니다) 이해하지 못하기 때문입니다.현재 모달보기 컨트롤러 맨 위로 UINavigationController

이 코드를 제시 :

ukc = [[UnlockKeyboardViewController alloc] init]; 
    [self presentModalViewController:ukc animated:NO]; 

원인 모달 뷰 컨트롤러 UINavigationBar 이하로한다. 이 모달 뷰를 표시하면 UINavigationBar가 표시되지 않아야합니다. 어떻게해야합니까?

추신 : 이것은 탈옥구 응용 프로그램이므로 Interface Builder가 없습니다. 관련 문제를 작업에 따라

답변

8
[self.navigationController presentModalViewController:ukc animated:NO]; 
+0

이 사람은 멋졌습니다. 감사. –

0

추가 정보 :

note173의 대답은 너무 animated:YES와 함께 작동합니다. 사용자는 ukc의보기가 nav 스택 위로 슬라이드 위로 이동하는 것을 볼 수 있습니다. 이후에 ukc을 닫고 self의보기로 돌아가해야하는 경우

그리고, 이렇게 :

 [self.navigationController dismissModalViewControllerAnimated:NO]; 
     [self.navigationController dismissModalViewControllerAnimated:YES]; 

첫 번째 호출은 ukc을 일축. 두 번째 호출은 nav 컨트롤러를 닫습니다. 사용자가 보는 것은 ukc의 화면이 아래로 내려져 self의 화면을 보여 주며 그 뒤의 탐색 스택을 엿볼 수 있습니다.

그래서 Nav 스택에서 다른 일반보기 컨트롤러로 전환 한 다음 다시 기본보기 컨트롤러로 돌아가는 방식으로 모든 순서대로 애니메이션이 적용됩니다.

(당신의 목표는 앞뒤로 탐색 스택과 ukc 사이를 전환 할 수 있었다면, 당신은 하나의 호출 ukc을 기각 것이다 -. self.navigationController dismissModalViewControllerAnimated:YES]; ukc를 미끄러의이 탐색 스택을 나타 내기 위해 아래보기)

이 메소드는 iOS 5에서 더 이상 사용되지 않습니다. presentViewControllerdismissViewControllerAnimated은 같은 일을 할 것이라고 가정하지만 테스트하지는 않았습니다.

+0

예, presentViewController 및 dismissViewControllerAnimated는 현재 올바른 방법입니다. – lekksi