У меня проблема с моей ячейкой просмотра таблицы. Я не могу отключить выделение ячейки ячейки после возвращения из подробного представления в основное представление таблицы с помощью segue со встроенным контроллером навигации. Ячейка таблицы по-прежнему выбрана. Я не хочу, чтобы выбор ячейки таблицы был отключен, когда я нажимаю один из них, чтобы показать детали. Я только хочу отключить их после возвращения из подробного представления.
Как отключить выделение выделенной ячейки таблицы после возврата из Detail View (Назад Segue)
Ответ 1
Я получил его сейчас. Я так решил. Это простая теория.
Мы просто отменим выбор, когда мы выберем строку
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
}
Ответ 2
Вы также можете отключить выделение выделения ячеек:
import Foundation
class CustomTableViewCell: UITableViewCell
{
required init(coder aDecoder: NSCoder)
{
fatalError("init(coder:) has not been implemented")
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?)
{
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.selectionStyle = UITableViewCellSelectionStyle.None
}
}
Ответ 3
Решение для Swift3:
Это позволит выбрать, и это исправление для быстрого 3.
cell.selectionStyle = UITableViewCellSelectionStyle.none
Ответ 4
self.selectionStyle = UITableViewCellSelectionStyle.None
Достаточно переопределить func awakeFromNib() тоже:)
У меня возникла фатальная ошибка при принятии вышеуказанного кода.
Ответ 5
Как мне это нравится, если у вас есть один выделенный параметр, вы должны использовать метод viewDidAppear. Таким образом, пользователь может увидеть анимацию выбора, когда он вернется в таблицуView.
override func viewDidAppear(_ animated: Bool) {
if let selectedRow = tableView.indexPathForSelectedRow {
tableView.deselectRow(at: selectedRow, animated: true)
}
}
Ответ 6
Swift 3
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
}