繁体   English   中英

Xcode故事板:无法将View添加到ViewController

[英]Xcode Storyboard: Can't add View to ViewController

我正在使用Xcode 10(在Swift 5和iOS 12上),我的应用当前设置如下:

  1. UIViewController 1(登录屏幕)-segue12至->
  2. 自动创建的NavigationController
  3. 带有UITableView UIViewController 2-segue23至->
  4. UIViewController 3(有关带有自动创建的“后退”按钮的UITableView项的详细信息)

在此处输入图片说明

NavigationBar仅包含“”。

现在,我想在UITableView下方添加另一个带有按钮的UIView ,但是Xcode不允许我将其拖到UITableView下方,只能拖入UITableView或直接在“第一响应者”下方,这会将View置于其自己的窗口之外。

如果删除“我的表格视图”,它也将不允许我拖动替换。

如何解决此问题,以便添加新的UIView + UIButton

自动创建UIViewController 2的NavigationController

这说明了一切。 将导航控制器拖到情节提要中时,得到的是导航控制器及其根视图控制器,而根视图控制器是UITableViewController。

让我们退后一会儿。 一个视图控制器可以并且必须仅具有一个主视图。 它占据了整个场景。 无法调整大小。 它不能具有同级视图,因为它没有父级视图作为同级视图的子级。 它只能有子级(子视图)。

好吧,在这种情况下,ViewController2是UITableViewController,而MyTableView是ViewController2的主视图。 (始终以这种方式配置表视图控制器,这就是将导航控制器拖到情节提要中时所得到的。)这就是为什么您不能向其中添加更多视图的原因,除了作为子视图之外,例如原型单元内容。 除了表视图内部 ,您的按钮无处可去。

那么该怎么办?

  • 如果您要添加的额外界面只是一个按钮,通常的解决方案是将其放入导航栏中 它成为表视图控制器导航项的一部分。

  • 如果您不想这样做-也就是说,如果您确实希望按钮和表视图在界面中彼此相同,则您需要用普通的视图控制器替换ViewController2本身。 现在,其主视图将是普通视图,您可以将所需的任何内容拖到其中,包括表格视图和按钮。 您更有可能使用容器视图 (而不是裸表视图),并将容器 嵌入表视图控制器中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM