私はUITableView
を持っていますが、再ロードするときに非常に奇妙な動作をしています。何らかの理由で、テーブルビューの境界の一部が失われてしまいます(私はそれらを変更したことはありません)が、表示されているセルのラベルは正しいです。UITableView再描画の問題
ただ1つの行をリロードすると、この行は境界線を失います。テーブル全体をリロードすると、テーブル全体がその境界線を失います。
私は白い背景を使用しており、セルは白い背景も持っていますが、UITableView
はグループスタイルを使用しています。
これまでにこのような動作は見られませんでした。これはバグですか?
がここにありますどのように私のセットアップテーブル:
settingsController.view.backgroundColor = [UIColor whiteColor];
_settingsTable = [[UITableView alloc] initWithFrame:[UIApplication sharedApplication].keyWindow.frame style:UITableViewStyleGrouped];
_settingsTable.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
_settingsTable.delegate = self;
_settingsTable.dataSource = self;
_settingsTable.backgroundView = nil;
[settingsController.view addSubview:_settingsTable];
、細胞は、この単純なコードを経由して白くなっています
cell.backgroundView = nil;
cell.backgroundColor = [UIColor whiteColor];
あなたは上のスクリーンショットから見ることができるように、ボリュームセルは、セルを再ロードした後にその境界を失った。誰が何が起こっているのか分かっていますか?
編集:ここで私はこれを解決した方法は次のとおりです。
UITableView
にバグがあるように見えます。ご存知のとおり、UITableView
は、その背景が別のビューに読み込まれているため、backgroundColor
プロパティは気にしません。このビューは、デフォルトではテクスチャイメージです。これをnull
に設定すると、テーブルビューに表示エラーが表示されます。
別の白いビューを作成するだけで解決しました。今はうまくいきます。
UIView*whiteBg = [[UIView alloc] initWithFrame:_settingsTable.frame];
whiteBg.backgroundColor = [UIColor whiteColor];
_settingsTable.backgroundView = whiteBg;
[whiteBg release];
セルとテーブルビューの異なる背景色を設定しようとします。 –
いいえ。私のアプリケーションのスタイルに合わせて白くする必要があります。 – Pripyat
私はちょうどセル/テーブルの背景の限界を表示すると思った... –