に動的に追加されるセルがいくつかありますUICollectionView
。私がやりたいのは、これらのセルのインセットを変更して、の中央に表示されるようにすることUICollectionView
です。これは、追加されるセルが増えると、セルの高さが変化するためです (単一の RowUICollectionView
です)。
- (UIEdgeInsets)collectionView:(UICollectionView*)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
// This method is used to center when one tile is entered else use a standard no inset
if (self.wordArray.count == 1) {
CGFloat newWidth = (self.tileCollectionView.bounds.size.width - self.tileCollectionView.bounds.size.height);
return UIEdgeInsetsMake(0, (newWidth / 2), 0, (newWidth/2));
} else {
return UIEdgeInsetsMake(0, 0, 0, 0); // top, left, bottom, right
}
}
UICollectionViewCell
セルの形状がすべて同じであるため、現在の高さへの参照を取得するにはどうすればよいですか (1 つの行に収まるようにさらに追加すると、高さ/幅が変化するだけです。
セルの高さへの参照を取得したら、次のようなものを追加できます: self.tileCollectionView.bounds.size.height - CELLHEIGHT /2 -- セルのインセットとして使用します。