静态 UITableViewCell 中的 UISwitch 生成错误

Posted

技术标签:

【中文标题】静态 UITableViewCell 中的 UISwitch 生成错误【英文标题】:UISwitch in static UITableViewCell generates error 【发布时间】:2013-10-07 16:58:29 【问题描述】:

我想创建一个具有各种选项的 UIViewController,每个选项都可以通过 UISwitch 启用/禁用。 我正在使用 Xcode 5 和 ios 7 部署目标。 UITableView 包含静态单元格。界面是在故事板中创建的。

当我将 UISwitch 添加到单元格时(到它的 contentView),我收到此错误:

Exception while running ibtool: *** setObjectForKey: object cannot be nil (key: objectID)

难道不能在静态 UITableViewCell 中添加 UISwitch 吗? 删除 UISwitch 时,错误消失。

【问题讨论】:

【参考方案1】:

我今天遇到了确切的问题,但我无法弄清楚是什么导致了我的问题,因为我在视图控制器上添加了太多项目。现在我知道它是 UISwitch。

但是我已经解决了这个问题。

我禁用了“辅助功能”选项,构建成功。

但“可访问性”选项如何成为对象 ID 的问题仍不清楚。

【讨论】:

你是对的。当我禁用“辅助功能”选项时,错误也消失了。但是我的 UISwitch 在运行时不可见。我认为主要问题是我使用的是静态单元格,但没有UITableViewController,这似乎是不可能的。您是否也尝试过使用静态单元格而不使用 UITableViewController? 是的,我在情节提要上使用静态单元格。我想我以前没有使用 UITableViewController。现在我用 UITableViewController 好像没有这个问题。 我也切换到了 UITableViewController,现在它可以工作了。【参考方案2】:

对于静态表格单元格,可以使用 UITableViewController。 UITableView 不支持静态单元格。

另一个回答这个问题:https://***.com/a/9428324/42756

【讨论】:

【参考方案3】:

游戏有点晚了,但是……

如果您将 用户定义的运行时属性 定义为占位符(即在构建时删除)的 AutoLayout 约束,则会收到此错误。

【讨论】:

以上是关于静态 UITableViewCell 中的 UISwitch 生成错误的主要内容,如果未能解决你的问题,请参考以下文章

来自 UITableView 中的静态 UITableViewCell 的 UITextField 值未显示

从子视图中引用包含 UIView?

UITableViewCell 中的 UICollectionView

MonoTouch 中的自定义 UITableViewCell

分组 UITableViewCell 中的 UITextfield

iOS - 圆圈中的图像(UITableViewCell)