2016-04-08 2 views
4

Я создаю NavTitleView.xib (добавлен в эту метку xib 2 «TITLE» и «SUBTITLE»), а также создайте для этого xib swift файл.NavigationBar titleView jump on viewWillAppear

Тогда я хочу использовать этот XIB, как navigationItem.titleView

в viewWillAppear я пишу этот код

override func viewWillAppear(animated: Bool) { 
super.viewWillAppear(true) 
     let titleView = NSBundle.mainBundle().loadNibNamed("NavTitleView", owner: self, options: nil)[0] as! NavTitleView 
     titleView.TitleLabel.text = "My beautiful title" 
     titleView.SubtitleLabel.text = "My beautiful subtitle" 
     self.navigationItem.titleView = titleView 

} 

Все прекрасно работает! Но когда появляется мой взгляд - этот NavTitleView совершает прыжок с левой стороны на центр! Я не понимаю, почему? Как это исправить?

+1

Переместить этот код в 'viewDidLoad' так это называется только один раз. – sschale

+0

Перемещение этого кода для просмотраDidLoad не решает проблемы !! Если я переведу этот код в viewDidLoad, название будет прыгать один раз !!! – Dmitry

+0

@ Dmitry вы реализуете пользовательскую панель навигации? –

ответ

0

если у вас есть rightBarButtonItem настроить, попробуйте позвонить self.navigationItem.rightBarButtonItem = UIBarButton снова в viewWillAppear

Смежные вопросы