Swift retrieved by calling -dequeueReusableSupplementaryViewOfKind:withReuseIdentifier:forIndexPath:

前端之家收集整理的这篇文章主要介绍了Swift retrieved by calling -dequeueReusableSupplementaryViewOfKind:withReuseIdentifier:forIndexPath:前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

保存提示

*** Assertion failure in -[UICollectionView _createPreparedSupplementaryViewForElementOfKind:atIndexPath:withLayoutAttributes:applyAttributes:],/SourceCache/UIKit/UIKit-2903.2/UICollectionView.m:1401
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',reason: 'the view returned from -collectionView:viewForSupplementaryElementOfKind:atIndexPath
(UICollectionElementKindSectionHeader,<NSIndexPath: 0x145f3f50> {length = 2,path = 0 - 0}) was not retrieved by calling -dequeueReusableSupplementaryViewOfKind:withReuseIdentifier:forIndexPath: or is nil'
(<UICollectionReusableView: 0x145f9400; frame = (0 0; 320 20); layer = <CALayer: 0x145f90c0>>)


之前一直都是用纯代码,现在用XIB和StoryBoard,经常碰到的问题,现在记录下来;

let nib = UINib.init(nibName: "VCResultView",bundle: nil)
        _collectionView.register(nib,forSupplementaryViewOfKind: UICollectionElementKindSectionHeader,withReuseIdentifier: "header")


func collectionView(_ collectionView: UICollectionView,viewForSupplementaryElementOfKind kind: String,at indexPath: IndexPath) -> UICollectionReusableView {
        if kind == UICollectionElementKindSectionHeader{
            return collectionView.dequeueReusableSupplementaryView(ofKind: kind,withReuseIdentifier: "header",for: indexPath)
        } else {
            return collectionView.dequeueReusableSupplementaryView(ofKind: kind,for: indexPath)
        }
    }

哈哈哈,这样就显示出来了。

原文链接:https://www.f2er.com/swift/322595.html

猜你在找的Swift相关文章