繁体   English   中英

Interface Builder:无法将自定义类分配给表视图控制器

[英]Interface Builder : cannot assign custom class to table view controller

我正在尝试为iOS创建一个简单的应用,该应用使用标签栏控制器来呈现地图视图或表格视图。 地图视图和表格视图都具有相同的导航栏按钮项:

左侧的注销按钮,以及导航栏右侧的刷新,添加新按钮。 因此,我开始尝试使用名为LocationViewController的父控制器的想法,该父控制器继承自UIViewController

对于表视图,我有一个名为TableViewController: LocationViewController的控制器TableViewController: LocationViewController和另一个名为MapViewController: LocationViewController控制器MapViewController: LocationViewController

在情节提要上,我在每个视图的顶部标题部分添加了一组两个按钮(用于刷新和添加新按钮)(很小,可能很难看到)。 请参阅下面的图片:

MapView

表格检视

将自定义视图控制器MapViewController分配给我的地图视图面板没有问题,但是在面板中找不到自定义控制器类TableViewController (请参见下面的屏幕截图)

找不到自定义表视图控制器类

我在stackoverflow上找到了类似的帖子,重新启动解决了该问题,我也尝试过,但根本没有解决我的问题。

您在错误的位置添加了您的按钮。 我不知道酒吧的正确名称,但其中包含“关联对象”。 您想要实现的目标应如下所示: 在此处输入图片说明 不幸的是,您不能通过界面构建​​器将两个 UIBarButtonItems添加到导航栏的一侧。 您可以将 UIView而不是 UIBarButtonItem该“插槽”并在其中添加两个 UIButtons ,或者可以从代码中添加多个按钮。


另外,似乎您的问题的名称有点误导:)在仔细阅读您的帖子之后,我发现了“正确”的问题。

答案-您已在情节UITableViewController中添加了UITableViewController ,但您的类没有继承自UITableViewController 如果要保留基类,则必须使其成为“普通” UIViewController ,并向其添加UITableView 请注意,这样一来,您将无法拥有原型单元。

您可能需要从UITableViewController对其进行子类化。 替换UITableViewController的UIViewController父类,如下所示:

class ViewController: UITableViewController {

然后确保选择了周围都是蓝色的View Controller,然后可以放置从UITableViewController继承的类的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM