web-dev-qa-db-ja.com

UITableView:選択したセルの色がios13でレンダリングされない

Xcode 11ベータ6を使用していますが、UITableViewcellを選択すると、セルが強調表示されません。選択した背景色ではなく、白い背景が表示されます。

7
Haritha Reddy

これは、Xcode11.1でビルドするiOS13デバイスで私にとっては機能します

Objective-c

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

   cell.contentView.backgroundColor = [UIColor clearColor];

}

スウィフト

cell.contentView.backgroundColor = UIColor.clearColor()
1
Roger Han

次の解決策は私のために働いた。

  1. セルのcontentViewにclearColorを割り当てる必要がありました。

    cell.contentView.backgroundColor = [UIColor clearColor];

  2. 次に、選択したときに背景ビューをセルに割り当てます。以下のコードをcellForRowAt:メソッドに追加しました。

    UIView *test = [[UIView alloc] init];
    
    test.backgroundColor = [UIColor colorWithRed:213.0f/255.0f green:239.0f/255.0f blue:222.0f/255.0f alpha:1.0f];
    
    your_Cell.selectedBackgroundView = test;
    
0
Ashutosh Shukla