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

时间:2014-09-02 18:48:33

标签: ios objective-c iphone uiview

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

上的一些交易

我需要添加header,我需要设计一些具体的信息和风格。我问iOS: How do I make custom header section for Table?并意识到我需要制作自定义UIView

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

enter image description here

问题吗
- 如果您看到这不仅显示UIView,还显示整个iPhone屏幕 - 我需要在我的UITableViewController上显示此内容,现在我拥有了什么,如何将UIView作为标题放在UITableViewController上?

2 个答案:

答案 0 :(得分:1)

使用 UIViewController 而不是 UITableViewController

我建议你不要使用UITableViewController因为我看到的东西没什么好处,而你正在寻找的自定义视图是不必要的。

使用 UIViewController 并将UITableView对象(在界面构建器中)拉到该视图上。您可以根据自己的喜好调整尺寸和位置。

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

@interface ViewController: UIViewController<UITableViewDelegate, UITableViewDatasource>

下面是界面构建器中UIViewController的屏幕截图,我添加了一个UITableview对象(这里是灰色的)并在顶部添加了一个UIView(颜色为棕色,这样你就可以清楚地看到它)。

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

enter image description here

虽然在上面的屏幕截图中我使用的是故事板,但你也可以用Xib做同样的事情。

我希望这会有所帮助。

答案 1 :(得分:0)

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

self.tableView.tableHeaderView = headerView;

编辑:如果您想在代码中执行所有操作。创建自定义标题视图并将其拖动到UITableView上方:https://stackoverflow.com/a/8053361/2604030