3

UItableView を使用して 1 日のカレンダーを表示したいと思います。各行は 1 時間に対応します。テーブルビューの 2 つのセル間の時間を表示する必要があります。

このような :

a
(出典: free.fr )

そして、これは私の UITableViewCell です:

a
(出典: free.fr )

最初のスクリーンショットでは完全に機能しますが、下にスクロールしてから上にスクロールすると、時間ラベルが次のように切り取られます。

a
(出典: free.fr )

tableView を使用してこの問題を解決するためのヒントはありますか?

4

2 に答える 2

1

画面上でセルを描画する順序が非常に重要であるため、現在のセルのレイアウト方法は脆弱です。ボタンがセルの上部と同じ高さになり、時間ラベルがセルに完全に収まるように、コンテンツを上に移動してみてください。テーブルに細いヘッダー ビューを追加して、上部のセルが通常のように見えるようにします。セルのコンテンツを完全に境界内に保持すると、適切なスクロール速度を維持するのに役立ちます。

EDIT :セルの上部に 2 番目のクリップ ラベルを配置し、その内容を前の行のラベルの内容と同じにすることもできます。一番上の行でそのラベルを非表示にするために特別な注意を払う必要がありますが、それ以外の場合は、テーブルがセルのレンダリング順序の変更の影響を受けないようにする必要があります。

于 2012-05-03T17:43:27.570 に答える
0

セルの背景色を明確にします。上にスクロールすると、セルの z 順序が逆になり、下のセルが上のセルと重なり、このクリッピングが発生します。

于 2012-05-03T17:43:08.267 に答える