2015-01-14 3 views
1

내비게이션 막대가 숨김으로 설정된보기 컨트롤러가 있고 내 탐색 표시 줄로 내 자신의 UIView를 표시하고 투명하게 만들었습니다. 내 뷰 프레임 Y 위치를 0으로 설정 했으므로 맨 위부터 시작하여 어떤 공백도 표시하지 않고 시작합니다. 나는이보기 컨트롤러를로드 할 때 코드 위상태 표시 줄이 아래로 이동합니다

[self.navigationController.navigationBar setHidden:YES]; 

navBarView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)]; 

navBarView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"top-bg.png"]]; 

[self.view addSubview:navBarView]; 

작동하지만 다른 뷰 컨트롤러에 밀어 다시이 뷰 컨트롤러에 오면 다음 상태 표시 줄 공간이 필요하고 아래보기를 푸시합니다.

수정 방법. 나는 모든 해결책을 내게 알려 줬다. This is on back which is thew issue

+0

상태 또는 탐색? 사진 전후에 추가하여 코어가 실행되는 위치를 표시 할 수 있습니까 (어떤 방법)? – Wain

+0

@Wain : 업데이트했습니다. 지금은 바랬습니다. –

+0

상태 막대 색상이 변경되는 이유는 무엇입니까? – gabbler

답변

0

This is on first load which is perfect

내가 뭔가 레이아웃 제약 문제 될 수있다 같아요. 다음 코드를 시도해보십시오 :

UIView* navBarView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)]; 

navBarView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"top-bg.png"]]; 

NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(navBarView); 
NSArray* horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|-[navBarView]-|" 
             options:0 metrics:nil views:viewsDictionary]; 
NSArray* verticalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[navBarView(64)]-|" 
                     options:0 metrics:nil views:viewsDictionary]; 
NSArray* constraints = [horizontalConstraints arrayByAddingObjectsFromArray:verticalConstraints]; 
[navBarView addConstraints:constraints]; 

[self.view addSubview:navBarView]; 
+0

xib 하위 뷰를 사용하면 문제가 발생한다는 것을 알게되었습니다. –

+0

질문을 내비게이션 막대 대신보기를 작성하고 수퍼 뷰에 추가하고 실제 xib의 스크린 샷에 추가하는 데 사용하는 실제 코드로 질문을 업데이트 할 수 있습니까? –

0

viewWillAppear 코드를 추가하여 작동하는지 확인해 볼 수 있습니까?