iOS:无法在UITableViewController上创build自定义视图

我在做什么?
我通过构build一个应用程序来学习iOS 。 我的需求在UITableViewController上显示了一些事务

我需要添加header ,我需要devise一些具体的信息和风格。 我问iOS:我如何为表格自定义标题部分? 并意识到我需要做一个自定义的UIView

问题是我不能在UITableViewController上拖动View ,XCode不允许我

在这里输入图像说明

问题?
– 如果你看到这个不仅显示UIView而且显示整个iPhone屏幕
– 我需要显示在我的UITableViewController ,现在我有什么,我怎么能把UIView作为我的UITableViewController头?

使用UIViewController而不是UITableViewController

我build议你不要使用UITableViewController ,就像我看到的那样,它没有什么优势,而像你所想的那样的自定义视图是不必要的困难的。

使用UIViewController并将UITableView对象(在界面构build器中) UITableView到该视图上。 你可以在任何你喜欢的地方大小和位置。

请记住在头文件中包含委托,如下所示,并将UITableView对象委托连接到viewController。

 @interface ViewController: UIViewController<UITableViewDelegate, UITableViewDatasource> 

下面是界面生成器中UIViewController的屏幕截图,我已经添加了一个UITableview对象(在这里呈灰色),并在顶部添加了一个UIView(棕色,以便您可以清楚地看到它)。

这当然只是一个例子,但希望它能帮助你理解。

在这里输入图像说明

尽pipe在上面的屏幕截图中我使用了Storyboard,尽pipe你也可以用Xib做同样的事情。

我希望这有帮助。

您添加标签的视图是视图控制器的主视图。 您将需要从对象库(右下angular的菜单)中拖动一个视图,并在其中添加这些标签。 然后用IBOutlet将添加的视图链接到你的ViewController。 之后,您可以将您的tableView的标题设置为添加的视图:

 self.tableView.tableHeaderView = headerView; 

编辑:如果你想在代码中做的一切。 创build自定义标题视图并将其拖到UITableView的上方: https : //stackoverflow.com/a/8053361/2604030