如何向单个故事板场景添加多个独立视图?

时间:2014-09-04 19:08:49

标签: xcode storyboard xcode5

我是Xcode中Storyboards的新手,当我只使用xib文件进行布局时,我在尝试做我曾经做过的事情时遇到了问题。

有时,当我创建视图时,它将需要一个或多个小的辅助视图,这些视图独立于主视图的布局。通常这些较小的视图类似于输入字段的自定义键盘,或者带有几个按钮的工具栏,我将在键盘顶部附加(例如,在上方添加"完成"按钮数字键盘键盘,因为他们由于某种原因缺少一个键盘。

当我使用xib文件执行此操作时,我可以在画布上的任何位置拖动一个新视图,它只会"浮动"在那里,独立于xib中的其他视图。然后,我可以设置它自己的布局,并将按钮连接到主视图所连接的同一视图控制器的插座属性。

现在,当我使用故事板来执行视图布局而不是xib文件时,我无法再在画布上的任何位置放置视图。故事板受到更多的限制/组织,每个独立的视图似乎都必须在它自己的场景中#34;。所以,当我尝试做我在xib文件中所做的事情时,我遇到了一个问题。它只允许我在画布上放置视图控制器,而不是普通的旧视图。

我尝试将视图直接拖到"查看大纲"左侧面板,以便我可以在视图层次结构中获取我想要的位置;但是,当这个额外的视图不在主视图内时,我无法在屏幕上的任何地方看到它。也许解释这个的最佳原因是图像。

这是我通常在xib文件中执行的操作: xib file showing extra views

在xib文件中,您可以看到两个独立存在的视图(一个不嵌套在另一个视图中)。在此示例中,我最终将额外视图连接到视图控制器/文件所有者中的outlet属性。然后在" viewDidLoad"中,我将它分配给" .inputView" UITextField的属性,以便用具有日期选择器,标签和完成按钮的视图替换键盘。

这是我的(失败的)尝试在Storyboard文件中的样子: enter image description here

所以我试图将另一个视图放到同一个场景中。我在Storyboard文件中发现的是,任何未嵌套在主视图中的内容都不会显示在任何地方。所以我无法在我的额外视图文件上设置任何内容,因为我无法在屏幕上看到它;它只在“视图大纲”面板中可见。这使我以前在xib文件中做的事情不再可能了。

我现在能想到的唯一另外一种方法就是为我的故事板旁边的每一个添加一个单独的xib文件,这对我来说似乎有些愚蠢,因为我认为故事板应该不再需要每个视图都有一个xib。旧的方式看起来很简单,所以我现在该怎么办?也许我完全以错误的方式解决这个问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

只需双击左侧文档大纲中的第二个视图即可。您的视图将显示在包含它的场景附近的故事板上。