Как очистить выделенный по умолчанию серый цвет для элемента списка в SwiftUI? - PullRequest
0 голосов
/ 31 марта 2020

Я не могу изменить выделенный цвет элемента List, в UIKit Id легко изменить TableViewCell элемент Selection свойства По умолчанию на Нет . Я не могу найти решение для такого простого взаимодействия, я что-то упускаю?

Спасибо.

Редактировать: я пробовал это, но не сработало.

NavigationLink(destination: DetailView(detail: self.viewModel.characters.results[index])) {  

CharacterCell(character: self.viewModel.characters.results[index])
                                    .buttonStyle(PlainButtonStyle())

}

enter image description here

1 Ответ

0 голосов
/ 31 марта 2020

Добавьте код в init ()

   init() {
        // Set selected (onTapped) background color of cell.
        let color = UIView()
        color.backgroundColor = UIColor.red
        UITableViewCell.appearance().selectedBackgroundView = color
    }

Например:

import SwiftUI

struct SomeView: View {

    init() {
        // Set selected (onTapped) background color of cell.
        let color = UIView()
        color.backgroundColor = UIColor.red
        UITableViewCell.appearance().selectedBackgroundView = color
    }

    var body: some View {

        // Your List/ForEach code
        Text(/"Hello, World!")
    }
}

Я заметил, что предварительный просмотр swiftUI не показывает изменения, но внутри симулятора или Запустив на устройстве, вы увидите эффект.

В вашем случае вы должны установить UIColor.clear, и это должно устранить серый цвет по мере необходимости.

...