2016-09-21 4 views
0

если установить панель поиска для навигации titleView, какUINavigation titleView ошибка

navigationController?.navigationBar.topItem?.titleView = self.searchBar 

, но я установил это кадр с помощью autolayout как:

self.searchBar.snp_makeConstraints { make in 
     make.left.equalTo(leftSpace) 
     make.right.equalTo(-leftSpace) 
     make.top.equalTo(10) 
     make.height.equalTo(44) 
} 

, а затем она будет вызывать сломаны если я нажму на другой контроллер.

И если я изложу это кадр, используя таким образом:

self.searchBar.frame = CGRectMake(leftSpace, 0, screenSize.width - 2 * leftSpace, 44) 

он работает хорошо ...

Любой человек может сказать мне, почему? Thx ...

ответ

0

Дизайн TitleView управляется контроллером навигации. Ограничения, добавленные в ваше представление, будут игнорироваться при добавлении в titleView. Если вы хотите полностью настроить панель навигации, я предлагаю создать собственное представление.

+0

Thx first. Но я вижу, что заголовок правильно отображается в навигационной панели, и если я нажимаю на другой контроллер представления, то ломаюсь. – dyljqq

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