2010-08-28 64 views
0

我有一个类叫做OptionsTableViewController它继承了UITableViewController。我将超类更改为UIViewController实现UITableViewDelegateUITableViewDataSource协议,因为我需要tableView在特定的位置。为什么UISwitch只有在重命名类时才可见?

现在一些表格单元作为accessoryView具有UISwitch。该开关是一个实例变量,用CGRectZero初始化。

将超类更改为UIViewController时,不显示开关。但是,当我也重命名类(OptionsViewController f。e。)它的作品。

有人知道这种奇怪的行为来自哪里吗? 我也尝试清理项目,我甚至删除了构建文件夹 - 但似乎唯一的解决方案是重命名类。

我有一个类似的问题之前,整个表视图将不会显示,除非该类被重命名。

+0

你确定'accessoryView'设置正确吗?你能否成功记录所有配件视图,看看它们是否真的被设置?它真的不能因为类的名称,应该有*东西*错误*某处*。 – Joost 2010-08-28 21:27:07

+0

这是我的设定accessoryView的: 'cell.accessoryView = _switch;' 其中所述开关被一个实例变量initialiazed如下: '_switch = [[UISwitch的alloc] initWithFrame:方法CGRectZero];' 记录配件视图是什么意思?我设置了一个制动点,此时应用程序停止。所以命令是肯定执行的。 我也尝试只是添加一个开关作为子视图(不是表格视图),但这也行不通。我假设,该类的名称在项目中的某处使用,但不在我编写的代码中。 – marikaner 2010-08-29 00:06:15

回答

0

我找到了这个问题的原因。虽然通过项目XCode搜索不会找到任何名为OptionsTableViewController的文件,但我发现它包含在目标 - > AppName下。清理所有目标后,该文件不会消失,因此很高兴知道仍然存在部分内容。

0

您是否检查过您的整个项目中的其他任何位置是否使用了名称OptionsTableViewController和OptionsViewController,包括在Interface builder nib文件中?视情况而定,你是否改变了所有的名字?

+0

我使用了XCode的_Refactor ..._选项,似乎没有OptionsTableViewController的其他外观(注释除外) - 我使用了编辑 - >查找 - >在项目特征中查找来检查。我也删除了nib文件,因为我不使用它。 – marikaner 2010-08-28 23:51:03

相关问题