ios - 界面生成器 : cannot assign custom class to table view controller

标签 ios xcode swift controller interface-builder

我正在尝试为 iOS 创建一个简单的应用程序,它使用标签栏 Controller 来呈现 map View 或表格 View 。 map View 和表格 View 都有相同的导航栏按钮项:

左侧是注销按钮,右侧是刷新、添加新按钮。因此,我开始尝试拥有一个名为 LocationViewController 的父 Controller ,它继承自 UIViewController

对于 TableView ,我有一个名为 TableViewController: LocationViewController 的 Controller ,还有一个名为 MapViewController: LocationViewController 的 Controller 。

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

MapView

TableView

我将自定义 View Controller MapViewController 分配到我的 map View 面板没有问题,但我在面板中找不到自定义 Controller 类 TableViewController(请参阅下面的截图)

custom table view controller class not found

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

最佳答案

<罢工> 您在错误的位置添加了按钮。我不知道酒吧的正确名称,但它包含“关联对象”。你想要实现的应该是这个样子: enter image description here 不幸的是,您不能添加两个 UIBarButtonItems通过界面生成器到导航栏的一侧。您可以拖动 UIView而不是 UIBarButtonItem到那个“插槽”并添加两个 UIButtons在那里,或者您可以从代码中添加多个按钮。


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

回答 - 你已经添加了一个 UITableViewController在你的 Storyboard 中,但你的类(class)没有继承自 UITableViewController .如果您想保留基类,则必须将其设为“普通”UIViewController并添加 UITableView给它。请注意,这样您将无法拥有原型(prototype)单元。

关于ios - 界面生成器 : cannot assign custom class to table view controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172266/

相关文章:

ios - 如何将在 Collection View 中选择的所有单元格列出到另一个 View 中

ios - Swift Array 将 nil 的 var 传递给 .contains 和 .filter 时会发生什么

ios - 使用 UIControlEventTouchDragEnter 触发按钮的方法......但不起作用?

ios - iPhone已拒绝启动请求问题

ios - swift 'Must register a nib or a class for the identifier or connect a prototype cell in a storyboard'

ios - 查找和替换术语

c++ - 我如何通过XCode开发纯GUI wxwigets程序

swift - 计算字符串 Swift 中的字母出现次数

iphone - 在 Documents 文件夹中写入文件列表并将其保存在内存中

iphone - iOS 应用程序共享文档目录