Voiceover не работает для сложных UITableViewCell - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть пользовательский интерфейс, который можно описать следующим образом:

<simple cell 1>
<simple cell 2>
<simple cell 3>
<simple cell 4>
<simple cell 5>
<simple cell 6>
<header>
<complicated cell with multiple elements> (calendar events for today)
<header>
<simple cell 7>
...

Простые ячейки являются элементами доступности.

class SimpleCell {
   ... {
      isAccessibilityElement = true
      accessibilityLabel = "whatever"
   }
}

Сложной ячейкой является контейнер

class ComplicatedCell {
   ... {
       isAccessibilityElement = false
       accessibilityElements = [some views]
   }
}

теперь, если я перемещаюсь сверху вниз, фокус идет как следует:

<navigation bar>
<simple cell 1>
<simple cell 2>
<simple cell 3>
<simple cell 4>
<simple cell 5>
<simple cell 6>
<header>
<complicated cell element 1>
<complicated cell element 2>
<complicated cell element 3>
<complicated cell element 4>
<header>
<simple cell 7>

, но если я go от ячейки 7 вверх, навигация будет нарушена:

<simple cell 7>
<header>
<complicated cell element 4>
<complicated cell element 3>
(won't scroll)
<navigation bar>

Если я установлю сложную ячейку в качестве простого элемента доступности, то все будет работать правильно.

Есть ли способ исправить это поведение?

...