2016-09-21 7 views
0

wenn ich eine Suchleiste auf die Navigation Titleview gesetzt, wieUINavigation Titleview Bug

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

, aber ich stellte es Rahmen ist durch Verwendung von automatischen Layout wie:

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

, und dann bewirkt, dass es gebrochen wenn ich zu einem anderen View-Controller dränge.

Und wenn ich es Rahmen gesetzt auf diese Weise unter Verwendung von:

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

es gut läuft ...

Wer kann mir sagen, warum? Thx ...

Antwort

0

Das TitleView-Layout wird vom Navigationscontroller verwaltet. Die Einschränkungen, die Sie Ihrer Ansicht hinzugefügt haben, werden ignoriert, wenn Sie zu titleView hinzugefügt werden. Wenn Sie die Navigationsleiste vollständig anpassen möchten, empfehle ich, eine eigene Ansicht zu erstellen.

+0

Thx zuerst. Aber ich kann sehen, dass die Titelansicht korrekt in der Navigationsleiste angezeigt wird, und wenn ich zu einem anderen Ansichtscontroller drehe, dann kaputt. – dyljqq

Verwandte Themen