在Xcode中没有导航项栏的情况下创建视图

时间:2014-08-05 07:45:08

标签: cocoa-touch view uinavigationcontroller swift xcode6

我正在尝试使用Xcode 6 Beta 4和Swift从ViewController(loginScreen)连接一个新的空View(homeScreen)。按钮触发segue到homeScreen视图。问题是,当我添加segue时,我的空白/空homeScreen视图会在视图顶部神奇地获得一个导航项目栏。

你可以看到没有segue我的homeScreen查看它的空: Without the Segue

在segue之后它看起来像这样:

enter image description here

如您所见,Xcode在顶部插入导航项目栏(灰色矩形)。我想知道如何摆脱它或如何创建一个空视图,即使在为它指定了一个segue之后仍然是空的。

非常感谢你的帮助!

干杯!


更新:我的目标是创建一个类似于Facebook在其iOS应用中实现的导航栏。在顶部有搜索栏,也许还有一些图标。有谁知道怎么做?我试图通过选择我的视图控制器来隐藏导航栏,并在“属性”检查器中将“顶栏”属性设置为无,但它不起作用。有什么建议吗?

再次感谢。

2 个答案:

答案 0 :(得分:0)

loginScreen 是否位于 UINavigationController 中?如果是,新的显示视图控制器( homeScreen )也应该在导航控制器中,因此默认情况下它有一个导航栏。

如果需要,您可以隐藏它,但是您必须找到一种在导航控制器中导航的替代方法。

否则,您可以将 homeScreen 以模态方式将segue的类型更改为“Present Modally”。

有关视图控制器演示的更多详细信息,请参阅this document以及iOS8中的一些更新(WWDC会话:iOS8中的View Controller Advancement)。

enter image description here

编辑:要实现类似FB的导航栏,我会自定义UINavigationController栏:

  • 请阅读此AppCoda tutorial有关自定义栏的信息
  • 添加搜索栏使用以下代码:
let searchBar = UISearchBar()
... 
self.navigationItem.titleView = self.searchBar

答案 1 :(得分:0)

这是因为segue是" push" segue("显示(例如推送)")来自已包含在导航控制器中的View控制器。因此,它被放在此导航控制器的堆栈视图中,因此会收到导航栏。

如果您不想要导航栏,请使用模态segue("以模态方式呈现")或自定义segue。

如果您需要不同的导航栏(未链接到第一个导航控制器),则相同。你可以完美地拥有一个模态segue,通向一个UIViewController,它嵌入在它的OWN导航控制器中(或者只有一个导航栏)。看看菜单:"编辑/嵌入/导航控制器"。

相关问题