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