11

ここに画像の説明を入力

スクリーンショットを見ると、各 UITableViewCell が上部から上部のテーブルビュー セルまで 20% オーバーラップしていることがわかります。

セルを重ねる方法はありますか?

4

3 に答える 3

15

試したことはありませんが、この種のロジックは機能します。重なっている部分には触れないことを覚えておいてください。

1) サブビューを に追加し、サブビューの高さがtableViewcell.contentViewよりも大きいことを確認します。rowHeight

float overlapHeight  = 10.0;

subView.frame = CGRectMake(0.0, -10.0, 
                  your_subview_width, rowHeight + overlapHeight);

2)このコードを追加して、セルがフレームの外側のコンテンツをクリップしないようにします

cell.clipsToBounds = NO;
cell.contentView.clipsToBounds = NO;

3) これで、セルが重なりますが、セルの境界線の周りにクリップ マークが表示されます。それを回避するには、willDisplayCellデリゲート関数を実装します

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    cell.backgroundColor = [UIColor clearColor];
}
于 2012-10-24T10:01:31.790 に答える
1

オーバーラップ効果は、セルを2つの部分(上部の狭い部分と下部の広い部分)で構成することで視覚的に実現できます。下部は単純です。内部にテキスト/画像コンポーネントがある灰色の長方形です。トリックは上部の部分にあります。

上部の高さは、色付きのタブ全体の高さと同じです。プログラムは、前のセルの下部を表す細い灰色の帯の上にあるタブ、または茶色の背景の上にあるタブの2つの画像のいずれかをそこに配置できます。tableView:cellForRowAtIndexPath:チェックの中にrow。ゼロの場合は、背景が茶色の画像を選択します。それ以外の場合は、上部の背景に灰色の帯がある画像を選択します。

于 2012-10-24T10:09:10.880 に答える
0

セルを重ねる必要はありません。一番上のセルは次のようになります。

ここに画像の説明を入力

残りのすべてのセルは次のようになります。

ここに画像の説明を入力

灰色tableFooterViewのバー(セルの「下部」)にする必要があります

于 2012-10-24T10:15:00.243 に答える