如果我将搜索栏设置为导航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 :(得分:0)
TitleView的布局由导航控制器管理。添加到titleView时,您添加到视图中的约束将被忽略。如果您想完全自定义导航栏,我建议您创建自己的视图。