在设计时(Storyboard)方便地将View Controller对象转换为Table View Controller

时间:2013-04-27 23:05:53

标签: xcode uiviewcontroller storyboard uitableview uistoryboard

我知道我可以删除原始的View Controller并将Table View Controller放在Storyboard中,但这要求我重新建立前后视图控制器之间的关系。

在设计时,是否有更简单或更方便的方式来转换对象的类型?这似乎是一个非常常见的任务(至少在我自己的项目中),我想在Xcode中有一个选项。

4 个答案:

答案 0 :(得分:2)

据我所知,Xcode中没有UI可以让你这样做。但是,您可以在xml编辑器中打开storyboard文件(激活版本编辑器将执行此操作)并将节点名称从<viewController ...>更改为<tableViewController ...>。不要忘记将结束标记更改为</tableViewController>

答案 1 :(得分:2)

我所做的是在IB中创建UITableViewController,使用文本编辑器打开Storyboard,并将UIViewController内的所有节点复制到UITableViewController。

我认为通过这种方式,删除重要内容的风险会降低。

在复制sections对象之前,请确保两个tableviews(UIViewController和UITableViewController)具有相同的属性集:静态或动态单元格,样式(普通或分组)等。

答案 2 :(得分:0)

在Xcode中,打开“Utilities”窗格(它显示在右侧),单击“Identity Inspector”,然后在“Custom Class”区域中选择一个不同的类。但请注意,这不会更改链接到控制器中的视图。您需要删除视图并添加UITableView。然后可能必须建立一些代表连接。

我已经完成了你多次描述的事情。有时我会删除目标并重新开始;有时候我会按照我的描述进行转换。“

答案 3 :(得分:0)

以下内容并未完全回答这个问题,但我认为它可能会回应问题的意图。

使用表视图控制器和表视图替换常规视图控制器和视图的最简单方法是将表视图控制器从对象菜单拖动到画布的空白部分,从而创建新场景。如果表视图场景应该是应用程序的第一个视图,请将指向视图控制器场景的箭头拖动到新场景。现在,如果旧视图控制器无需任何操作,只需将其删除即可。

请参阅教程here

但是,如果您希望能够从表视图深入查看详细视图,那么您实际想要的是导航控制器。导航控制器对象默认创建一个表视图场景作为其根视图控制器。