スクリーンショットを見ると、各 UITableViewCell が上部から上部のテーブルビュー セルまで 20% オーバーラップしていることがわかります。
セルを重ねる方法はありますか?
スクリーンショットを見ると、各 UITableViewCell が上部から上部のテーブルビュー セルまで 20% オーバーラップしていることがわかります。
セルを重ねる方法はありますか?
試したことはありませんが、この種のロジックは機能します。重なっている部分には触れないことを覚えておいてください。
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];
}
オーバーラップ効果は、セルを2つの部分(上部の狭い部分と下部の広い部分)で構成することで視覚的に実現できます。下部は単純です。内部にテキスト/画像コンポーネントがある灰色の長方形です。トリックは上部の部分にあります。
上部の高さは、色付きのタブ全体の高さと同じです。プログラムは、前のセルの下部を表す細い灰色の帯の上にあるタブ、または茶色の背景の上にあるタブの2つの画像のいずれかをそこに配置できます。tableView:cellForRowAtIndexPath:
チェックの中にrow
。ゼロの場合は、背景が茶色の画像を選択します。それ以外の場合は、上部の背景に灰色の帯がある画像を選択します。
セルを重ねる必要はありません。一番上のセルは次のようになります。
残りのすべてのセルは次のようになります。
灰色tableFooterView
のバー(セルの「下部」)にする必要があります