Middle
Hogyan lehet elérni, hogy egy oszlopra koppintva a többi ne legyen kiemelve?
sobes.tech MI
Válasz az MI-től
Egyéni UITableViewCell hozható létre, és felülírhatja a módszereket a kiválasztási állapot kezeléséhez.
Íme egy példa:
import UIKit
class CustomCell: UITableViewCell {
override func setSelected(_ selected: Bool, animated: Bool) {
// Ne hívja meg a super.setSelected
// Szükség szerint kezelje a megjelenést
}
override func setHighlighted(_ highlighted: Bool, animated: Bool) {
// Ne hívja meg a super.setHighlighted
// Szükség szerint kezelje a megjelenést
}
}
A tableView(_:cellForRowAt:)-ben ezt az egyéni osztályt kell használni:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as? CustomCell else {
fatalError("A sorban lévő cella nem CustomCell példány.")
}
// Cella beállítása
return cell
}
Továbbá beállíthatja a UITableViewCell.selectionStyle értékét .none-ra:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellIdentifier", for: indexPath)
cell.selectionStyle = .none // Kikapcsolja az alapértelmezett kiemelést
// Cella beállítása
return cell
}