Я столкнулся со странной ситуацией, когда UITableView используется в контексте UINavigationController.
tvOS использует UIView.mask, чтобы применить «градиент затухания» вверху и внизу UITableView,так что ячейки исчезают и исчезают в верхних и нижних краях табличного представления.
Это нормально: маска исчезновения всегда остается в стороне от выбранной ячейки.
(Здесь view.backgroundColor имеет красный цвет, а tableView.backgroundColor имеет синий цвет с 50% альфа. Ограничения tableView установлены в безопасной области.)
Проблема возникает, когда вы помещаете свой контроллер представления в UINavigationController.Когда выделение находится ближе к вершине, вид маски больше не избегает ячейки, поэтому он выглядит блеклым.Кроме того, когда пользователь прокручивает вниз, маска затухания делает гигантский прыжок вниз, а затем, когда пользователь начинает прокручивать назад, эта маска затухания, похоже, не исчезает:
Для справки, здесь та же самая настройка, но с tableView.mask = nil:
(Все замирания отключены, но вы можете видеть, как ячейки «всплывают» и исчезают в верхней и нижней части таблицы. Вы можете подумать, что можете просто установить tableView.masksToBounds = true, но тогда выбранная ячейка будет обрезанапотому что растет при выборе)
Конечно, я что-то упускаю здесь очевидное?Никто в Apple не помещал табличное представление в навигационный контроллер?