2016-09-26 1 views
0

У меня есть два контроллера зрения, VC1 VC2 &ИОС смотреть переход становится искажено setNavigationBarHidden = ДА

В VC1. viewDidLoad, У меня есть

[self.navigationController setNavigationBarHidden:YES]; 

В VC2. viewDidLoad, я

[self.navigationController setNavigationBarHidden:NO]; 

Но когда я иду от VC1 к VC2, переход не является гладким. Когда появляется VC2, сначала есть черная часть в секции navBar VC2, а затем появляется соответствующий navBar.

Что должно быть сделано, чтобы сделать ее гладкой

+0

вызов 'setNavigationBarHidden: анимированный: 'вместо? Сделайте вызов в другом месте, например. 'ViewWillAppear:'? (Но в целом я считаю, что это всего лишь недостаток во время выполнения, я вижу эту «черную часть» все время.) – matt

+0

@matt Я пробовал это в VC2, это не сработало. – GJain

ответ

0

вы можете использовать viewWillAppear вместо viewDidLoad

// Swift

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 
    self.navigationController?.setNavigationBarHidden(false, animated: false) 
} 

// ObjectiveC

- (void) viewWillAppear:(BOOL)animated { 
[super viewWillAppear:animated]; 
[self.navigationController setNavigationBarHidden:false animated:false];} 
Смежные вопросы