Assertion failure in -[UICollectionView layoutSublayersOfLayer:]

先說下我遇到這個問題的情況:

我是在view上創建了一個Collectionview,它本身的frame是直接用CGRectMake(0,0,SCREEN_WIDTH,SCREEN_HEIGHT - 64
collectionview實例化的時候註冊了自定義的collectionviewCell,在collectionview的協議方法裏註冊了頭視圖,頭視圖沒有使用自定義頭視圖。在頭視圖上的控件屬性全都是以懶加載的形式定義,添加。設置的,在協議方法註冊了頭視圖,頭視圖沒有使用自定義頭視圖。在頭視圖上的控件屬性全都是以懶加載的形式定義,添加。

最後在真機測試時,在其他版本上都沒問題,但是在7.0系統上運行時出現閃退,打斷點提示的錯誤是:Assertion failure in -[UICollectionView layoutSublayersOfLayer:]   

然後我試了各種方法後發現,在collectionview實例化的時候讓collectionview對象調用一下layoutSubviews方法,並且要在自定義collectionviewCell裏面的數據源屬性的setter方法裏添加[selfsetNeedsLayout];就可以解決這個問題,(下面附加結局問題的代碼截圖)但是我仍然沒有發現問題到底出在什麼地方。這很尷尬。。。。在這裏稍微總結一下,給自己個提醒。希望知道這個問題的大神給個解析,不勝感激!

collection view調用layoutSubviews方法截圖:



自定義單元格里的數據源setter方法調用截圖:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章