2014-10-08 2 views
1

위에서 언급했듯이 TableView를 초기화해도 잘 작동합니다.자세히보기에서 반환 할 때 상태 및 탐색 모음과 겹치는 UITableView

Initial View

가 나는 상태 표시 줄 취소 상세보기에서이 코드를 사용하십시오 DetailView에서 돌아온 후

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] 
               forBarMetrics:UIBarMetricsDefault]; 
self.navigationController.navigationBar.shadowImage = [UIImage new]; 
self.navigationController.navigationBar.translucent = YES; 
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor]; 
self.navigationController.view.backgroundColor = [UIColor clearColor]; 

를,이 같은 상황이 발생합니다

View after returning from detail

나는 self.tableView.contentInset- (void)viewDidLoad- (void)viewDidAppear에 시도했는데별로 좋지 않습니다. 왕.

초기 ViewController는 UIViewController가 아닌 UITableViewController의 하위 클래스입니다.

답변

0

self.navigationController.navigationBar.translucent 속성을 NO로 설정하십시오. 나는이 일을해야

self.navigationController.navigationBar.translucent = NO;

희망의 코드 self.navigationController.navigationBar.translucent = YES;

교체 의미한다.

1

두보기 컨트롤러는 모두 같은 UINavigationController 안에 있습니다. 즉, 동일한 UINavigationBar를 공유합니다. 초기 뷰 컨트롤러로 돌아갈 때 navigationBar의 초기 값을 설정해야합니다. 지금, 돌아 왔을 때 막대가 반투명하기 때문에 셀이 탐색 모음과 겹칩니다. 첫 번째 뷰 컨트롤러 -viewWillAppear 메서드에서 해당 값을 다시 설정하십시오.

self.navigationController.navigationBar.translucent = NO; 
self.navigationController.navigationBar.backgroundColor = #BARCOLOR; 
+0

감사합니다. 문제가 해결되었습니다. – lordykw

관련 문제