UINavigation titleView bug

时间:2016-09-21 06:41:46

标签: ios swift autolayout snapkit

如果我将搜索栏设置为导航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 ...

1 个答案:

答案 0 :(得分:0)

TitleView的布局由导航控制器管理。添加到titleView时,您添加到视图中的约束将被忽略。如果您想完全自定义导航栏,我建议您创建自己的视图。