4

UITableView があり、セルの背景色を RGB 244、240、246 に設定しました。テーブル、テーブル セル、およびテーブル セルのコンテンツ ビューに背景色を設定してこれを行いました。

ただし、アクセサリ (この場合はチェックマーク) の背景は黒くなっています。

UIAccessoryView の背景は黒です

テーブルで編集を有効にすると、左側の削除円も背景が黒くなります。

編集を有効にすると背景が黒くなります

この背景色を変更できないようです。

私は次のコードでそうしようとしました:

cell.editingAccessoryView = [[UIView alloc] init];
cell.editingAccessoryView.backgroundColor = [UIColor colorWithRed:244/255 green:240/255 blue:246/255 alpha:1.0];

しかし、それは効果がありません。

ストーリーボード内で設定を探してみましたが、違いはないようです。

テーブル セルとコンテンツ ビューの背景色を「デフォルト」に変更すると、セルの背景全体が黒くなることに気付きました (テーブルの背景色はまだカスタム カラーです)。

iOS7 移行ガイドを読みましたが、UIAccessoryView に関連するものは何も表示されませんでした。また、stackoverflow を検索しましたが、私が抱えている問題に一致するものを見つけることができませんでした。

どうすればこれを修正できますか?

4

5 に答える 5

2

iOS 7 では、セルの背景はデフォルトで白です。以前のバージョンの iOS では、セルは囲んでいるテーブル ビューの背景色を継承します。セルの背景色を変更する場合は、テーブル ビュー デリゲートの tableView:willDisplayCell:forRowAtIndexPath: メソッドで行います。

これがお役に立てば幸いです

于 2014-04-01T12:01:27.693 に答える
0

iOS 7 の場合、これをカスタマイズされたテーブル セル コードに配置します。

- (void)willTransitionToState:(UITableViewCellStateMask)state
{
    [super willTransitionToState:state];
    if ((state & UITableViewCellStateShowingEditControlMask) == UITableViewCellStateShowingEditControlMask)
    {
        for (UIView *subview in self.subviews)
        {
            if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellScrollView"])
            {
                subview.backgroundColor  = [UIColor colorWithRed:0.69 green:0.769 blue:0.871 alpha:1];
            }
        }
    }

}

于 2014-05-22T13:06:49.467 に答える
0

テーブル ビュー セルには、 というプロパティがありますbackgroundView。backgroundView の backgroundcolor のみを変更する必要があります。それでおしまい。

 cell.backgroundView.backgroundColor = [UIColor yourcolor];
于 2014-01-15T07:41:18.260 に答える