集合视图控制器的 viewDidLayoutSubviews 在 iOS 7 中被重复调用

Posted

技术标签:

【中文标题】集合视图控制器的 viewDidLayoutSubviews 在 iOS 7 中被重复调用【英文标题】:Collection view controller's viewDidLayoutSubviews is being called repeatedly in iOS 7 【发布时间】:2013-09-24 22:36:49 【问题描述】:

我有一个带有垂直流布局的集合视图控制器,它有一些自定义布局属性可以将其扭曲成一个半圆形,但在其他方面相当正常。在 ios 6 下,viewDidLayoutSubviews 被精确地调用了两次,一次是在视图初始化时,另一次是在它获得数据之后。但是在 iOS 7 下,每当集合视图滚动时,它就会被重复调用,无论是手指向下还是在它自己的动力下。看起来它可能是每个 didscroll 一次。有人知道这可能发生在 7 年的原因吗?

【问题讨论】:

因为 iOS 7 太棒了!它保证了我们许多程序员的就业,因为它有很多意想不到和莫名其妙的功能。 确实如此,尽管我宁愿在不会倒塌的矿井下工作。 阿门。我已经度过了艰难的一周来处理一些我没有编写的应用程序的更改。 【参考方案1】:

好的,根据 nickman55 在 Apple 论坛上的这篇帖子,每当重用集合视图单元格时,iOS 7 中都会调用 viewDidLayoutSubviews。 https://devforums.apple.com/message/874718#874718

【讨论】:

以上是关于集合视图控制器的 viewDidLayoutSubviews 在 iOS 7 中被重复调用的主要内容,如果未能解决你的问题,请参考以下文章

如何将集合视图数据传递给新的视图控制器

从集合视图单元格单击按钮导航到视图控制器

拆分视图中的集合视图控制器不更新

如何从不同的集合视图单元到不同的视图控制器

如何通过使用 swift 5 的动态集合视图从一个视图控制器移动到另一个视图控制器?

快速在视图控制器中加载集合视图控制器