2016-06-22 5 views
1

UICollectionViewでこの奇妙な問題に直面しています。私はxibファイルでUICollectionViewを含むカスタムビューコントローラを作成しました。次に、カスタムビューコントローラをメインビューに追加し、追加した後にコレクションビューのデータを入力します。 しかし、ビューが表示されるたびに、コレクションビューが点滅し、それから何も表示されません。それは本当に本当に奇妙な、私はそれを前に見たことがない!ここで私は、カスタムビューを追加する方法を説明します https://youtu.be/Pwn8cufpQ1Y点滅後にコレクションビューにアイテムが表示されない

:あなたは下のビデオでそれを見ることができます

let list = HorizontalListViewController(nibName: "HorizontalListViewController", bundle: nil) 

    list.view.translatesAutoresizingMaskIntoConstraints = false 
    self.contentView.addSubview(list.view) 
    let constraintTop = NSLayoutConstraint(item: list.view, attribute: .Top, relatedBy: .Equal, toItem: self.contentView, attribute: .Top, multiplier: 1, constant: self.contentViewHeight.constant) 
    let constraintLead = NSLayoutConstraint(item: list.view, attribute: .Leading, relatedBy: .Equal, toItem: self.contentView, attribute: .Leading, multiplier: 1, constant: 0) 
    let constraintTrail = NSLayoutConstraint(item: list.view, attribute: .Trailing, relatedBy: .Equal, toItem: self.contentView, attribute: .Trailing, multiplier: 1, constant: 0) 
    let constraintHeight = NSLayoutConstraint(item: list.view, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: CGFloat(LIST_VIEW_HEIGHT)) 
    list.view.addConstraint(constraintHeight) 
    self.contentView.addConstraints([constraintTop, constraintLead, constraintTrail]) 

    list.setList(datas, title: title) 

のviewDidLoadでセルを登録します。

// Do any additional setup after loading the view. 
    self.collectionView.dataSource = self 
    self.collectionView.delegate = self 
    self.collectionView.registerNib(UINib(nibName:"HorizontalListCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: CELL_IDENTIFIER) 

以前にこの問題を見ましたか?どうすれば解決できますか?

EDIT 1:

私はSantoshによって与えられた解決策を試してみましたが、結果は同じですが、今の細胞が消滅する前に、少し長く現れます。 https://youtu.be/8H4KqY6JJNs

EDIT 2:ここではビデオだ

が、私はストーリーボードを使用してカスタムビューコントローラを作成しようとしたが、細胞はまだ

EDIT 3消えておいてください。私はインストール

をFLEXを使ってUIをデバッグしてください。 cell.hidden = YES

ご覧のとおり、hiddenプロパティはYESに設定されています。私はコードのすべての行をダブルチェックし、私はセルの隠されたプロパティを設定していないと確信しています。だから私はある時点で、コレクションビューがそのセルを隠すように自動的に設定していると思います。

+0

これを試してください:http://stackoverflow.com/questions/13360975/uicollectionviews-cell-disappearing – Santosh

+0

@サントーあなたの返信に感謝します。私はあなたのリンクで回答を試みたが、同じ結果を得た。細胞はもう少し長く表示されますが、まだ消えています。ビデオは次のとおりです:https://youtu.be/8H4KqY6JJNs – JozackOverFlow

+0

'shouldInvalidateLayoutForBoundsChange'を使いましたか? – Santosh

答えて

1

愚かなことに、私はChildViewControllerメソッドとdidMoveToParentViewControllerメソッドを追加するのを忘れていました。あなたがサブビューを追加した後、それらのメソッドを追加してください。

関連する問題