2014-08-29 5 views
1

내 탭 응용 프로그램에서 기본보기는 숨겨진 검색 막대를 포함하는 UITableView입니다 (아래로 스크롤하여 메일 응용 프로그램처럼 표시).iOS 7 - setToolbarHidden : animation으로 내비게이션 컨트롤러 툴바 문제

내비게이션 막대에는 navigationController의 툴바를 애니메이션과 함께 표시하는 버튼이 있습니다.

도구 모음은 tabBar 바로 위에 있습니다.

문제는 다음과 같습니다

  • 도구 모음이 실제로 나타나하기 전에, 검은 틱 배경 일종의 부드러운 거기되지 않은 애니메이션은

  • 내비게이션 바의 도구 모음을 숨기고, 애니메이션이 아래 제공 searchBar뿐만 아니라 그렇게해서도 안됩니다. 그것은 전체보기가 미끄러 져 내려 오는 것과 같습니다.

내가 사용하는 코드는 여기에

-(void)showToolbar{ 
    [UIView animateWithDuration:0.3 animations:^{ 
     [self.navigationController setToolbarHidden:NO animated:YES]; 
     [self.navigationController.toolbar setAlpha:1.0]; 
    }completion:nil]; 
} 


-(void)hideToolbar{ 
    [UIView animateWithDuration:3.0 
        animations:^{ 
         [self.navigationController setToolbarHidden:YES animated:YES]; 
         [self.navigationController.toolbar setAlpha:0.0]; 
        } 
        completion:nil]; 
} 

입니다 (개인 정보 보호를 위해 흐리게) 내가지고있어 무엇을 GIF

어떤 제안은 감사를합니다.

+0

, 블랙 슬래시 당신의 배경색이 컨트롤러? 툴바를 추가 한 곳을 알려주세요. – Pawan

+0

아니요. 그렇게 생각하지 않습니다. 다른 앱에서 같은 코드를 사용했는데 원활했습니다. 나는 그것이 반투명 또는 무엇인가와 관련이 있다고 생각합니다. 나는 그것을 얻지 못합니다. 툴바를 어디에도 추가하지 않고 navigationController에 내장 된 툴바입니다. – Phillip

+0

툴바를 표시/숨기기 위해 동일한 코드를 사용하고 있으며 문제가 없습니다. 내 생각 엔이 코드에 영향을 미치는 다른 코드가 있습니다. – Mike

답변

1

나는 도구 모음이 실제로 나타나기 전에 검은 색 배경의 원인이 응용 프로그램 창 배경색을 보여줄 것이라고 생각합니다. 이

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    [self.window setBackgroundColor:[UIColor yellowColor]]; 
    return YES; 
} 

을 할 경우 도구 모음이 coming.It가 표시 MainWindow를 앱에 설정된 어떤 색상이 표시됩니다 전에 그런 다음 노란 배경을 보여줍니다. 이번에는 showtoolbar가 0.3 초 ​​동안 실행 중이므로 툴바 알파가 0.0에서 1.0으로 변경되어 몇 밀리 초 동안 공백으로 표시됩니다.

그래서 솔루션이 0.1 지속 시간을 변경할 수 있습니다 또는 당신이 당신의 uiwindow 동일한의 backgroundColor를 설정할 수 있습니다 .. :) 내가 생각

+0

야, 많이 고마워! 그건 깨끗한 해결 방법과 첫 번째 단계를 해결하지만, 당신은 왜 그것을 숨길 때 전체보기가 아래로 미끄러지는지 알 수 있습니까? – Phillip

+0

이것은 [self.navigationController setToolbarHidden : YES animated : YES]를위한 것입니다 – BHASKAR

+0

그냥 setToolbarHidden을 사용하면 같은 효과가 있습니까? 다른 앱에서는 전체보기를 슬라이드하지 않고 제대로 슬라이드하기 때문에 이상합니다. – Phillip