私は、ストーリーボードでUICollectionViewを初期化し、いくつかの属性をプログラムで設定することに決めました。ただし、これらの新しい属性の割り当ては、self.collectionView.reloadData()
を呼び出すと有効になります。collectionViewLayout初期化
let layout = self.collectionView!.collectionViewLayout as! UICollectionViewFlowLayout
layout.minimumInteritemSpacing = 0;
layout.minimumLineSpacing = 0;
ストーリーボードは現在、ゼロに設定している両方まだそれは私が彼らがプログラムに割り当てられていたときに、ゼロではありませんminimumInteritemSpacing
をロードします。私は上記の3行のコードを私のviewDidLoad()
関数に配置しようとしましたが、初期ロードには影響しませんでした。
私はこれも試してみた:まだ運と私は私がself.collectionView.reloadData()
を呼び出す前に、初期負荷に0
の両方を強制的に試みることができる他に何かわからないん
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
return 0
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
return 0
}
を。設定の
ストーリーボードとシミュレータのスクリーンショットを投稿できますか? –
ストーリーボードのスクリーンショットを追加しました。初期化時に何が起こるかを記述しているので、私は実際にシミュレータに表示するものは何もないので、項目間の間隔は最初に表示され、次に3行のコードから 'self.collectionView.reloadData()'をトリガーした後に消えます。間隔を0に設定することは意図したとおりに実行されます。 – theflarenet
'self.collectionView.reloadData()'はどこでトリガーされますか? –