2014-07-09 2 views
1

내 UITableViewControllers에 내비게이션 막대를 추가했지만 문제는 탐색 모음의 제목이 상태 표시 줄과 교차한다는 것입니다. 일반적으로 "positionForBar"할 UIBarPositioningTopAttached 반환하지만 UIViewControllers 함께 작동합니다. 따라서 "prefersStatusBarHidden"메서드를 사용하여 YES를 반환했습니다. 분명히 이것은 앱을 사용하는 동안 화면에있는 동안 시간과 배터리 수명을 볼 수 없기 때문에 사용자에게 비용이 듭니다. 그래서 제목 탐색 표시 줄과 상태 표시 줄을 겹치지 않게 유지하는 방법이 있습니까? iOS 6과 비슷합니까? 여기 UITableViewController의 탐색 모음이 상태 표시 줄과 겹치다

내가 무슨 말을하는지입니다 : enter image description here

이 매우 깨끗 보지 않고 내가 단순히 편집을 클릭하여있는 UITableViewController에 스토리 보드 클릭에 그것을

+2

확실하지 왜'positionForBar'이 작동하지 않습니다 작동합니다'UITableViewController'이 UIViewController' – kambala

+0

내가 그것 때문에 생각'상속 난 볼 수있는 것처럼 볼 수있는 Navigation Bar를 이동할 수 없습니다. UITableView – shreyashirday

+0

당신도 tableView를 움직일 수 있습니까? – kambala

답변

0

를 해결하기 위해 노력하고있어 -> embed -> 네비게이션 컨트롤러. 어디서나 탐색 할 때 사용할 필요는 없지만 제목 표시 줄을 올바르게 설정합니다.

+0

제목 표시 줄을 올바르게 이전하려면 어떻게해야합니까? 또한, 나는 이미 탭 바 컨트롤러에 내장되어 있습니까? – shreyashirday

+0

제목 표시 줄을 제거하십시오. 너는 필요 없어. 그것은 두 가지 모두에 내장 될 수 있습니다. – Mika

+0

내가 필요 없다는 것이 무엇을 의미합니까? 방금 한 가지 예를 들었지만 UIBarButtonItems가있는 다른 장면이 있습니다. – shreyashirday

0

코드

self.edgesForExtendedLayout = UIRectEdgeNone; 
0

저도 같은 문제를 가지고 함께 해보십시오. 이 그것을 고정 : 신용에 : malcolmhall

그 바로 아래로 탐색을 밀어하지만

// in the .h 
@property (strong) UINavigationBar* navigationBar; 

//in the .m 
- (void)viewDidLoad { 
[super viewDidLoad]; 

self.navigationItem.title = @"Title"; 
self.navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectZero]; 
[self.view addSubview:_navigationBar]; 
[self.navigationBar pushNavigationItem:self.navigationItem animated:NO]; 
} 

-(void)layoutNavigationBar{ 
    self.navigationBar.frame = CGRectMake(0, self.tableView.contentOffset.y, self.tableView.frame.size.width, self.topLayoutGuide.length + 44); 
    self.tableView.contentInset = UIEdgeInsetsMake(self.navigationBar.frame.size.height, 0, 0, 0); 
} 

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ 
    //no need to call super 
    [self layoutNavigationBar]; 
} 

-(void)viewDidLayoutSubviews{ 
    [super viewDidLayoutSubviews]; 
    [self layoutNavigationBar]; 
} 
+0

네비게이션 컨트롤러에 내장하고 싶지 않은 경우에 유용합니다. –

관련 문제