Стиль UITableViewCell исчезает после прокрутки вниз - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь выяснить, почему мой пользовательский стиль для ячеек таблицы исчезает после прокрутки вниз в табличном представлении и их резервного копирования.Что мне нужно сделать, чтобы стиль сохранился?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell : CustomTrendingCell = trendingTableView.dequeueReusableCell(withIdentifier: "cell") as! CustomTrendingCell
    cell.selectionStyle = .none
    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(searchForTrendingTerm(sender:)))
    cell.iconView_search.isUserInteractionEnabled = true
    cell.iconView_search.tag = indexPath.row
    cell.iconView_search.addGestureRecognizer(tapGesture)
    cell.trendingLabel.text = trendingSearchTerms[indexPath.row]
    cell.elevate(elevation: 4.0) //where my style is being set
    return cell
}

extension UIView {
func elevate(elevation: Double) {
    self.layer.masksToBounds = false
    self.layer.shadowColor = UIColor.black.cgColor
    self.layer.shadowOffset = CGSize(width: 0, height: elevation)
    self.layer.shadowRadius = abs(CGFloat(elevation))
    self.layer.shadowOpacity = 0.4
}
}

Верхние 2 пункта на скриншоте ниже прокручивались вниз и вверх.Стиль тени был удален.Нижние 2 имеют правильное оформление и не были прокручены вниз. Пример снимка экрана

1 Ответ

0 голосов
/ 01 мая 2019

Одним из возможных решений здесь является явное указание zPosition для слоя каждой ячейки.

Вы хотели бы убедиться, что верхняя ячейка имеет более высокое положение, чтобы ее содержимое (тень) находилось над нижней ячейкой.

В вашей ячейке для строки в функции добавьте:

cell.layer.zPosition = CGFloat(numberOfRows - indexPath.row)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...