iOS Читать все элементы в tabeviewcell, когда включено озвучивание

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


person Mugunth Chandran    schedule 05.06.2018    source источник


Ответы (2)


Используйте shouldGroupAccessibilityChildren и убедитесь, что все элементы в ячейке доступны. element.isAccessibilityElement = YES;

Документы

person Bharath    schedule 13.06.2018

Как сделать, чтобы все элементы в строке читались вместе, когда вся строка сфокусирована?

TableviewCell должен рассматриваться как контейнер, поэтому элементы, которые он содержит, не могут быть проанализированы VoiceOver, если он определен accessible: вы не можете иметь доступ к родительскому представлению и его дочерним элементам вместе ⟹ см. лист с примерами этого пояснения.

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

override func tableView(_ tableView: UITableView, 
                        cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", 
                                             for: indexPath)

    cell.isAccessibilityElement = true
    cell.accessibilityLabel = "APPEND YOUR LABELS HERE"

    // Add everything you need to construct your cell here.

    return cell
}

По этой причине iOS не будет считывать все элементы в TableviewCell при включенной функции VoiceOver.

person XLE_22    schedule 23.08.2019