1

私は UICollectionView を使用する作業中のアプリです。このアプリは iOS 6 では問題なく動作しますが、iOS7 では実行できません。多くのデバッグを行った結果、UICollectionView の reload メソッドが iOS 7 で機能しないという結論に達しました。

これには何か理由がありますか?

問題が見つかったアプリの機能の手順は次のとおりです。

  1. MyCollectionViewCell フレームが変更されます (これは UICollectionViewCell のサブクラスです)

  2. コレクション ビューをリロードします。

  3. iOS 6 は問題なく動作します (ここでは無効なレイアウトが内部的に呼び出され、次に "cellAtRowOfindexpath:" が呼び出されます。つまり、コレクション ビューのデータ ソース メソッドが呼び出されます)。

    iOS 7 では reload メソッドが機能しません (ここでは、invalidate レイアウトのみが呼び出されますが、「cellAtRowOfindexpath:」、つまりコレクション ビュー データ ソース メソッドは呼び出されません)。

前もって感謝します...

4

1 に答える 1

0

データソース内のセル/セクションの数は変更されていないため、画面に表示されているコンテンツを再読み込みする必要があります コレクション ビューの以下の関数を呼び出して

[_collectionView reloadItemsAtIndexPaths:[_collectionView indexPathsForVisibleItems]];

すぐ上に置く

[_collectionView reloadData]

あなたの問題が解決されることを願っています。

于 2014-01-23T13:10:37.573 に答える