4

UITableViewセルを動的に作成し、それに3つのラベルを追加しています。不透明なnoとclearcolorを使用して、テーブルを透明にしました。しかし、セルはスペースなしで表示されています。セル間にスペースを与える必要があります。実際UITableViewCell、xibファイルからカスタムをロードすると、スペースが自動的に表示されます。この問題を解決するにはどうすればよいですか?

4

3 に答える 3

5

カスタム間隔の UITableView

これを行うには、tableView セルをごまかします。デフォルトでは、単一の線、エッチングされた線、または何も指定できないため、代替手段を次に示します。tableView デリゲート メソッドをオーバーライドする必要があります。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

セルの高さをそのコンテンツ、マージン/パディング/ライン幅で計算して返します。セルの背景色を に設定し、[UIColor clearColor]テーブルの背景をセパレーターの目的の色にします。UITableViewCell をサブクラス化し、backgroundContainerView をアタッチして、セルの目的の背景色にします。すべてのサブビューをその backgroundContainerView にアタッチします。

最後に、UITableViewCell サブクラスで実装します

- (void)layoutSubviews

ここでは、それがセル全体であるかのように、コンテナ ビューでサブビューをレイアウトする必要があります。

于 2013-07-26T15:15:12.990 に答える
1

この問題は、TableView と Custom セルの高さの違いによるものです。heightForRowAtIndexPath デリゲートでセルの高さを設定します。

于 2012-09-20T09:55:05.397 に答える
1

UITableView には、 と の 2 つのプロパティがseparatorStyleありseparatorColorます。それらを使用して、セパレーターの色がclearcolorになっている可能性があるので、変更してみてください。

于 2012-09-20T09:36:27.750 に答える