2010-02-18 5 views
5

Three20 프로젝트에서 TTThumbsViewController를 구현 중이며 최종 수정이 시작됩니다. TTThumbsViewController를 현재 스택에 밀어 넣고 전환 (일반적인 탐색 컨트롤러 푸시)을 움직이면 현재 뷰 컨트롤러에서 TTThumbsViewController를 푸시합니다.View Controller가 내 탐색 막대 아래에서 ttthumbsviewcontroller를 터뜨린 후 그려집니다.

내 문제는 TThumbsViewController보기 컨트롤러를 팝업 할 때 내비게이션 컨트롤러가보기 컨트롤러가 탐색 표시 줄 (현재 반투명) 아래에 그려지는 모드에 고정되어 있다는 것입니다.

시작

alt text

밀어

alt text

alt text

+1

내비게이션 막대를 스타일 BlackOpaque로 강제 설정하여 문제를 해결했습니다. 드로잉 코드는 반투명으로 설정된 경우 탐색 막대 아래에 점 0,0을 그립니다. – scootklein

답변

10

보기가 다시 나타나면 도구 모음 & 탐색 모음 상태 표시 줄의 원래 스타일을 다시 구성해야합니다. 보기 컨트롤러에 을 구현하면됩니다.

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    UINavigationController* navController = self.navigationController; 
    navController.navigationBar.barStyle = UIBarStyleDefault; 
    navController.navigationBar.tintColor = [UIColor redColor]; 
    navController.toolbar.tintColor = [UIColor redColor]; 

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES]; 
} 
+0

그냥 사이드 노트, 이것은 또한 스플래시 화면을 시작하는 동안 또는 처음보기가 표시되기 전에 스플래시 화면에서 상태 표시 줄을 처음 숨기고있는 경우 statusbar 스타일을 변경하기 위해 three20을 얻을 수있는 유일한 방법입니다.). 나를 거기에 붙잡은 빵 부스러기를 가져 주셔서 감사합니다. – iwasrobbed

1

푸시하는 뷰 컨트롤러가 TTViewController에서 상속받지 않는 것처럼 보입니다. 뷰가 스택 밖으로 튀어 나면 'navigationBarTintColor'속성을 원래 색상으로 다시 설정해야 할 수도 있습니다. 전역 스타일 시트를 설정하지 않은 경우

관련 문제