如何修改默认的navigationBar?

时间:2017-04-18 02:57:45

标签: ios storyboard

这是UI图像,我想像这样创建searchBar:

但是,但是,在故事板中,我无法得到它。

enter image description here

为了达到我想要的效果,我该怎么做?

我想将默认导航栏更改为上部,其上有一个搜索栏。

更新

如果我在检查时选择了Top BarNone,我会在导航栏下方显示透明栏。(忽略下面的红色视图,我添加它。)

enter image description here

2 个答案:

答案 0 :(得分:1)

您无法从故事板中获得所需内容。您必须以编程方式将搜索栏添加到UINavigationBar的{​​{1}}。像这样,

navigationItem

您可能考虑的另一件事是,这不应该是let searchBar = UISearchBar() // Your Search bar self.navigationController.navigationItem.titleView = searchBar ,而是UINavigationBar,其中UIView是子视图。你可以把它放在故事板里。

编辑(回答评论)

“和取消按钮如何添加?”

这可以轻松添加。像这样:

UISearchBar

“我可以在故事板中隐藏我的导航栏吗?”

是。选择要隐藏let cancelButton = UIBarButtonItem(title: "Cancel", style: .done, target: self, action: #selector(cancelButtonTapped)) self.navigationController.navigationItem.rightBarButtonItem = cancelButton 的视图控制器,选择检查器窗格,选择“顶栏”选择“无”。

enter image description here

答案 1 :(得分:0)

Brandon已经给出了答案,现在如果你不想做代码工作,你可以从故事板创建自己的导航栏。执行以下步骤

  1. 隐藏导航控制器上的本机导航栏。
  2. 现在采用前导,尾随,前0空格和恒定高度64的视图。
  3. 根据您的要求添加搜索栏按钮标题,并根据您的要求提供约束,并选择出口并按照您的意愿行事。
  4. 如需更多查询,可以询问。