0

如果我将搜索栏设置为导航 titleView,例如

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

,但我使用自动布局设置它的框架,如:

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)

它运行良好...

谁能告诉我为什么?谢谢...

4

1 回答 1

0

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

于 2016-09-21T09:24:45.200 回答