iOS6の場合
[uitableview setBackgroundColor:]テーブルスタイルがUITableViewStyleGroupedの場合に色を設定しない
代わりに、デフォルトの縞模様の背景が表示されます。
スタイルがUITableViewStyleGroupedの場合、テーブルの背景をどのように設定する必要がありますか
iOS6の場合
[uitableview setBackgroundColor:]テーブルスタイルがUITableViewStyleGroupedの場合に色を設定しない
代わりに、デフォルトの縞模様の背景が表示されます。
スタイルがUITableViewStyleGroupedの場合、テーブルの背景をどのように設定する必要がありますか
[tableViewInstance setBackgroundView: nil];
設定
[tableView setBackgroundView: nil];
iOS 5で問題が発生するので、私が使用しているのは次のとおりです。
UIView* bview = [[UIView alloc] init];
bview.backgroundColor = [UIColor yellowColor];
[tableView setBackgroundView:bview];
iOS5、6対応!
self.view.backgroundColor = TTSTYLEVAR(mainPageBackground);
self.tableView.separatorColor = TTSTYLEVAR(mainPageBackground);
self.tableView.backgroundView = nil;
私のためにそれを修正しました。ただし、これが他にどのような影響を与える可能性があるかに注意する必要があります。
別の簡単な解決策は、IB で UITableView の背景色を変更することです。たとえば「白色」に変更すると、再び機能しました。
どういうわけか、背景色を「デフォルト」のままにしておくと、iOS 6 はコードで行われた他の色設定を気にしなくなります。
backgroundView を nil に設定することに注意してください。私の経験では、これにより、最新の XCode 4.5 でユーザーがスクロールしているときに、レンダリング パフォーマンスが大幅に低下します。スクロールのパフォーマンスに影響を与えなかったこの問題に対する私の解決策は次のとおりです。
- (void) viewWillLayoutSubviews
{
CGRect rect = [[UIScreen mainScreen] bounds];
CGRect frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
UIView *backgroundView = [[[UIView alloc] initWithFrame:frame] autorelease];
backgroundView.backgroundColor = [UIColor clearColor];
self.tableView.backgroundView = backgroundView;
}
これはすでに回答済みとしてマークされていることは知っていますが、次の方法も同様に機能します。
[[UITableView appearance] setBackgroundColor:[UIColor colorWithRed:233.0/255.0 green:233.0/255.0 blue:233.0/255.0 alpha:1.0]];
[[UITableView appearance] setBackgroundView:nil];
この方法では、アプリで各 tableView を設定する必要はありません。元のヒントの作者に感謝します !
iOS 6 では、グループ化されたテーブル ビューのメソッド、つまり backgroundColor は廃止されたため、代わりに使用します
[tableview setBackgroundView : nil];
背景を nil に設定するとうまくいきます。はい、以前のバージョンでは問題はありません。