Middle
Как да направим така, че при докосване на една колона, другите да не се подчертават?
sobes.tech AI
Отговор от AI
Можете да създадете персонализирана UITableViewCell и да презапишете методите за управление на състоянието на избора.
Ето пример:
import UIKit
class CustomCell: UITableViewCell {
override func setSelected(_ selected: Bool, animated: Bool) {
// Не извиквайте super.setSelected
// Управлявайте външния вид сами, ако е необходимо
}
override func setHighlighted(_ highlighted: Bool, animated: Bool) {
// Не извиквайте super.setHighlighted
// Управлявайте външния вид сами, ако е необходимо
}
}
В tableView(_:cellForRowAt:) трябва да използвате този персонализиран клас:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as? CustomCell else {
fatalError("Клетката в опашката не е инстанция на CustomCell.")
}
// Настройка на клетката
return cell
}
Може също да зададете UITableViewCell.selectionStyle на .none:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellIdentifier", for: indexPath)
cell.selectionStyle = .none // Изключва стандартното подчертаване при докосване
// Настройка на клетката
return cell
}