4

に動的に追加されるセルがいくつかあります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 -- セルのインセットとして使用します。

4

2 に答える 2