29

CustomLayout を使用して CollectionView でビューを作成しました。iOS6 では問題なく動作しましたが、iOS7 ではこのような例外がスローされます。

キャッチされない例外「NSInternalInconsistencyException」が原因でアプリを終了しています。理由:

'インデックス パス ({長さ = 2、パス = 0 - 0}) の補足項目のレイアウト属性が CustomSupplementaryAttributes から変更されました: 0xd1123a0 インデックス パス: (NSIndexPath: 0xd112580 {長さ = 2、パス = 0 - 0}); 要素の種類: (識別子); フレーム = (0 0; 1135.66 45); zIndex = -1; CustomSupplementaryAttributes へ: 0xd583c80 インデックス パス: (NSIndexPath: 0xd583c70 {長さ = 2、パス = 0 - 0}); 要素の種類: (識別子); フレーム = (0 0; 1135.66 45); zIndex = -1; レイアウトを無効にすることなく」

4

7 に答える 7

11

同じ例外がありました。iOS 7 では、Apple のドキュメントhereisEqual:に記載されているように、UICollectionViewLayoutAttributes サブクラスで継承されたものをオーバーライドする必要があります。

于 2013-10-09T22:31:00.017 に答える
1

コレクションビューのコンテンツサイズに依存するコードがあったため、私もこの問題を抱えていました。collectionView!.contentSize私のコードは、ではなく を介してコンテンツ サイズにアクセスしていましたcollectionViewContentSize

前者は のcollectionViewプロパティを使用UICollectionViewLayoutし、後者はカスタム実装のレイアウト プロパティを使用します。私のコードでは、レイアウトが初めて属性を要求されたとき、contentSizeまだ設定されていませんでした。

于 2017-01-02T23:42:32.063 に答える