为什么只有重命名类后 UISwitch 才可见?
我有一个名为 OptionsTableViewController 的类,它继承了 UITableViewController。我将超类更改为实现 UITableViewDelegate 和 UITableViewDataSource 协议的 UIViewController,因为我需要将 tableView 置于特定位置。
现在,一些表格单元格有一个UISwitch作为附件视图。开关是一个实例变量,用CGRectZero初始化。
将超类更改为 UIViewController 时,不会显示开关。但是当我也重命名该类(为 OptionsViewController fe)时,它就可以工作了。
有谁知道这种奇怪的行为从何而来? 我还尝试清理项目,甚至删除了构建文件夹 - 但似乎唯一的解决方案是重命名该类。
我以前也遇到过类似的问题,除非类被重命名,否则整个表视图不会显示。
I had a class called OptionsTableViewController which inherited UITableViewController. I changed the superclass to UIViewController implementing the UITableViewDelegate and UITableViewDataSource protocols, because I needed the tableView to be in a specific position.
Now some table cells have a UISwitch as accessoryView. The switch is an instance variable, initialized With CGRectZero.
When changing the superclass to UIViewController the switches are not shown. But when I also rename the class (to OptionsViewController f. e.) it works.
Does anybody know where this strange behavior comes from?
I also tried to clean the project and I even deleted the build folder - but it seems, that the only solution is to rename the class.
I had a similar problem before, where the whole table view would not be shown unless the class was renamed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否检查过名称 OptionsTableViewController 和 OptionsViewController 是否在整个项目的其他任何地方使用,包括在界面生成器 nib 文件中?您是否根据需要更改了所有名称?
Did you check to see if the names OptionsTableViewController and OptionsViewController are used anywhere else in your entire project, including in Interface builder nib files? Did you change all the names, as appropriate?
我找到了这个问题的原因。虽然在项目 XCode 中搜索并没有找到任何名为 OptionsTableViewController 的文件,但我发现它包含在 Targets -> 下。应用程序名称。清理所有目标后该文件不会消失,因此很高兴知道其中仍然残留有部分。
I found the reason for this problem. Although searching through the project XCode wouldn't find any files named OptionsTableViewController, but I found it included under Targets -> AppName. The file wouldn't disappear after Clean All Targets, so it is good to know that there still remain parts in there.