图层是其图层树iOS 9 Swift 2中循环的一部分

时间:2015-07-22 03:00:37

标签: calayer swift2 ios9

当我加载视图控制器时,我收到此错误:

[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

我不知道为什么。我想我可能已经添加了与图层混淆的第三方框架,但我在故障排除中删除了它。任何见解都会很棒。

修改

它发生在NSIndexPath *indexPath = [NSIndexPath indexPathForRow:rowYouDesire inSection:sectionYouDesire]; 的{​​{1}}期间。我的第二个vc上有一个tableView。我已将其缩小到在第4个自定义单元格上设置*** Terminating app due to uncaught exception 'CALayerInvalid', reason: 'layer <CALayer: 0x7fda42c66e30> is a part of cycle in its layer tree' 时崩溃。单元格处于静态viewDidLoad .................:/越来越近了!

这是我的tableViewcontroller

heightForRowAtIndexPath

非常通用。关于这可能造成的其他问题的任何想法?

9 个答案:

答案 0 :(得分:22)

检查你是否在self.view中添加了self.view,例如:

self.view.addSubview(view)

contentView.addSubview(self.view)

答案 1 :(得分:11)

我也遇到了同样的错误,发现了fix

它提到删除您将在TableView上看到的accessoryView Outlet。

要做到这一点:

  1. 点击表格视图
  2. 转到“Connections Inspector”,它是右侧窗口,最后一个图标(看起来像一个右箭头的圆圈)
  3. 查找accessoryView并断开插座
  4. 无法发布截图,因为我没有足够的声誉。博客文章向您展示了如何做到这一点。

答案 2 :(得分:9)

这可能会帮助仍有问题的人, 对我来说问题是这个

layer.addSublayer(layer)

向自己添加图层♂️。在这个错误之后,我打算自杀:(。

答案 3 :(得分:1)

我通过删除某些File' s owner UI文件中xib的插座解决了此类崩溃问题。我在这里回答,以防有人遇到类似的事情。

答案 4 :(得分:0)

我设法解决了这个问题,但并没有像我希望的那样。我最终抓住导致问题并从头开始重建所有布局约束的tableViewCell。不理想,但它奏效了。我希望将来可以有人来解释为什么会发生这个错误!欢呼声。

答案 5 :(得分:0)

我也有这个问题,发现我不小心从TableViewCell backgroundView创建了一个出口到TableView的视图 - DOH!

答案 6 :(得分:0)

我的一个朋友正面临着同样的问题。根本原因在于UITableview的viewForHeaderInSection委托。

他正在此代表的控制器主视图中添加标签。他应该创建一个UIView并在此委托中返回它,但是不幸的是 他正在返回self.view那里。因此,删除此代码可解决此问题。

答案 7 :(得分:0)

此外,在将视图另存为UIViewController中的变量时,不要给它命名为“视图”,因为“视图”已保存到UIViewController的视图中

答案 8 :(得分:0)

对我来说问题是
我创建了一个单元格创建了它的类并做了一些 IBOutlet 一段时间后我意识到我的项目已经有了这个单元格的类。所以,我删除了我的班级并将现有班级分配给我的单元格,但忘记打破旧班级的 IBOutlet 所以,解决办法是:
只需转到 Connection Inspector 并删除所有损坏的 IBOutlet

Please have a look of the pic