У меня есть UIViewController, назовем его MainViewController, экземпляр дочернего контроллера (ChildViewController типа UITableViewController) добавлен в MainViewController, доступность ChildViewController установлена, и голосовое сопровождение отлично работает для того же.
MainViewController имеет кнопку на панели инструментов, при нажатии на нее будет отображаться настраиваемый вид, как показано ниже.
//CustomView class
func show() {
UIView.animate(withDuration:0.5, delay: 0.0, usingSpringWithDamping: 0.8, initialSpringVelocity: 5, options: .curveEaseInOut, animations: {
self.disabledLayer.backgroundColor = UIColor.init(white: 0, alpha: 0.55)
self.transform = .identity
}, completion: {
(value: Bool) in
self.accessibilityElements = [titleLabel, closeButton] // titleLabel, closeButton are added dynamically to the view and are of type UILabel and UIButton respectively
})
}
при этом закадровый голос никогда не использовался для доступа (чтения) к настраиваемым элементам представления. после некоторых исследований добавлена строка ниже в MainViewController в обработчике нажатия кнопки панели инструментов
UIAccessibility.post(notification: .screenChanged, argument: actionView)
после этого закадровый голос начинает считывать элементы в пользовательском представлении, и по элементам можно перемещаться, используя левую и правую смену.
Но проблема в том, что когда я нажимаю на любой элемент в CustomView, он не выбран и не читается, вместо этого выбираются и читаются элементы ChildViewController, который находится в фоновом режиме, в этом положении касания.
В Swap работает как положено
Проблема - при нажатии на кнопку закрытия выбирается элемент в контроллере childview, который находится в фоновом режиме.
Примечание: CustomView имеет дочерний вид с полупрозрачным фоном. Цвет
заранее спасибо