2012-10-14 1 views
1

사용자가 단추를 누르면 상태 표시 줄, 탐색 모음 및 도구 모음이 화면 밖으로 움직이는 "fullscreen mode"를 내 iPhone 응용 프로그램에 사용하고 싶습니다. (iOS 6의 가로 모드에서 사파리의 전체 화면 기능처럼). 기본적으로 상위 뷰 컨트롤러로 UIViewController 함께 UINavigationController 표시하고 있습니다.내비게이션 막대, 도구 모음 및 상태 표시 줄 숨기기/표시 동시에

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 

    [self.navigationController setToolbarHidden:YES animated:YES]; 

    [self.navigationController setNavigationBarHidden:YES animated:YES]; 

그러나, 애니메이션이 동기화되지 않으며, 컨텐츠의 크기 조정이 완전히 유체되지 않습니다 :

나는있는 UIViewController에서이 작업을 수행하여 요소를 숨길 수 있습니다. Safari 전체 화면 기능을 사용하면 애니메이션이 완벽하게 유동적임을 알 수 있습니다. 완벽한 애니메이션으로 어떻게 이것을 달성 할 수 있을지에 대한 아이디어가 있습니까?

+0

유사 .. http://stackoverflow.com/questions/21929220/show-hide-uitoolbar-match-finger-movement-precisely-as-in-for-example-ios7-s – Fattie

답변

0

는 다음과 같은 작업을 수행 할 수 있습니다

[UIView animateWithDuration:0.4 animations:^() { 
    [[UIApplication sharedApplication] setStatusBarHidden:YES]; 
    [self.navigationController setToolbarHidden:YES animated:NO]; 
    [self.navigationController setNavigationBarHidden:YES animated:NO]; 
    self.yourView.frame = CGRectMake(0, 0, 320, 480); // If you have several views, set all their frames to 'fullscreen' 
}]; 

당신은 단지 UIViewAnimationOptions을 확인하는 방법 UIView animateWithDuration:(delay: options: animations:^(void)animations completion:^(BOOL finished)completion를 사용하여 사용자 지정 애니메이션을 사용할 수 있습니다.

+1

응답 해 주셔서 감사합니다. 그 해결책은 제가 찾고있는 것이 아닙니다. 상태 표시 줄 애니메이션 시간을 다른 상태와 동기화하는 데 도움이되지만, 원하는대로 유동적 인 것으로 만들지는 않습니다. 애니메이션에 관한 문제이기 때문에 문제를 설명하기가 어렵습니다. 절망적 인 경우 광산 애니메이션과이 솔루션의 동영상을 게시하기 시작합니다. – spybart

+0

나도 이것을 시도했지만 유감스럽게도 상황이 바뀌는 속도는별로 일치하지 않습니다. – Rick