在我的应用程序中,我有一个UICollectionView
和一个UITableView
. 我使用电视进行导航,使用 CV 进行详细介绍。用户可以更改电视和 CV 的宽度(每次平移;像一个灵活的UISplitViewController
)。
当用户在电视中选择一个项目时,应用程序会使用相应的详细项目更新 CV。我用
[myCV reloadData];
用于更新简历。当 CV 可见时,这非常有效。
允许用户将导航电视缩放到最大(全屏宽度) - 为此我将 CV 宽度设置为零。当 CV 不可见时,用户选择另一个项目(-> cv reloadData),然后用户重新打开 content-CV,出现以下错误:
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“当集合视图中只有 1 个部分时,请求第 2 部分之前的项目数”
到目前为止,我可以弄清楚 - CV 在 reloadData 时不会正确更新自身,当它不可见时(因为它的宽度为零,或者它不在屏幕上,或者被另一个视图隐藏)。当我再次将 CV 宽度设置为 > 0 的值时,会发生错误。似乎 CV 句柄仍然是旧的 cellItems,而不是 dataDelegate 提供的新 cellItems。
知道如何解决这种情况吗?