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

iOS:无法在UITableViewController上创建自定义视图,ios,objective-c,iphone,uiview,Ios,Objective C,Iphone,Uiview,我在做什么? 我正在通过构建一个应用程序来学习iOS。我的要求显示了UITableViewController 我需要添加标题,我需要使用一些特定的信息和样式进行设计。我询问并意识到我需要定制UIView 问题是我不能在UITableViewController上拖动视图,XCode不允许我这样做 问题? -如果您看到,它不仅显示ui视图,而且显示整个iPhone屏幕 -我需要在我的UITableViewController上显示这一点,现在我已经拥有了,如何将UIView作为标题放在我的UI

我在做什么?
我正在通过构建一个应用程序来学习iOS。我的要求显示了
UITableViewController

我需要添加
标题
,我需要使用一些特定的信息和样式进行设计。我询问并意识到我需要定制
UIView


问题是我不能在
UITableViewController
上拖动
视图
,XCode不允许我这样做

问题?
-如果您看到,它不仅显示
ui视图
,而且显示整个
iPhone
屏幕

-我需要在我的
UITableViewController
上显示这一点,现在我已经拥有了,如何将
UIView
作为标题放在我的
UITableViewController
上?

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

self.tableView.tableHeaderView = headerView;

编辑:如果您想在代码中完成所有操作。创建自定义标题视图并将其拖动到UITableView上方:

使用
UIViewController
而不是
UITableViewController

我建议您不要使用
UITableViewController
,因为就我所见,它没有什么优势,而像您正在寻找的自定义视图则不必要地困难


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

记住在头文件中包括代理,如下所示,并将
UITableView
对象代理连接到viewController

@interface ViewController: UIViewController<UITableViewDelegate, UITableViewDatasource>
@界面ViewController:UIViewController
下面是interface builder中UIViewController的屏幕截图,我添加了一个UITableview对象(此处显示为灰色),并在顶部添加了一个UIView(颜色为棕色,以便您可以清楚地看到它)

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

虽然在上面的屏幕截图中,我使用的是故事板,但您也可以使用Xib来实现这一点


我希望这能有所帮助。

我是否需要在我现有的
UITableViewController
(我想要标题的位置)上添加新的
UIView
。@daydreamer是的,你必须这样做。尽量不要弄乱您已添加标签的视图。我无法在Interface Builder中将
视图
拖动到
UITableControllerView
,它不允许我使用屏幕截图编辑问题,如果您当前的ViewController状态在情节提要中?您尚未添加屏幕截图。这非常有用,谢谢。我从
UITableViewController
切换到
UIViewController