将表视图控制器更改为视图控制器

时间:2013-09-03 18:57:25

标签: ios

我有一个使用JSON显示信息的Table View Controller。我想改变我的应用程序的样式,我不希望它拥有它现在拥有的那个“表”视图。什么是将Table View Controller更改为常规View Controller的最简单方法,我遇到的最大问题是代码使用tableView,我不知道如何让它作为常规视图控制器工作。

我使用一个带有TableViewController的Storyboard,它链接到名为UpcomingReleasesViewController的控制器。

我想要我的应用: https://www.dropbox.com/s/ehs2vpsv3671s2j/Photo%20Sep%2003%2C%203%2015%2042%20PM.png

看起来像这样: https://www.dropbox.com/s/q5yfhrs4fr8uvvm/Photo%20Aug%2029%2C%201%2011%2035%20AM.png

2 个答案:

答案 0 :(得分:4)

我的原始答案是假设您只想将UITableViewController转换为UIViewController。看一下你的屏幕快照,我推断你真的想要从UITableViewController切换到UICollectionViewController(这是一个iOS 6功能,而不是让你做到你想要的)。

在这种情况下,请将基类更改为UICollectionViewController,并使用UITableViewDataSource方法替换UICollectionViewDataSource方法。然后使用Collection View Controller重新设计场景。

有关详细信息,请参阅Collection View Programming Guide。或者参见WWDC 2012会话Introducing Collection ViewsAdvanced Collection Views and Building Custom Layouts

如果您需要支持6之前的iOS版本,那么您必须手动执行此集合视图样式编码,将图像视图放在滚动视图上并使用标准UIViewController。它比使用集合视图需要更多的努力,但可以完成。


原始答案:

如果此视图控制器上有一个表视图,但您只想在场景中添加更多控件?如果是这样,只需将视图控制器的基类从UITableViewController更改为UIViewController,创建新场景,向其添加表视图,并将表视图的委托和数据源指定为视图控制器:

enter image description here

此外,请确保为您的表格视图定义IBOutlet(如果您将其称为tableView,则可以最大限度地减少所需的编码更改。)

enter image description here

如果您这样做,您可以使用最少的代码更改快速将基于UITableViewController的控制器转换为UIViewController

答案 1 :(得分:0)

如果您希望制作类似新UI模型的内容,请查看UICollectionView。您将看到许多在collectionView API中使用的UITableViews中使用的相同概念(即dataSource,委托方法签名类似)。