간단한 질문 : accessibilityElementsHidden
을 UIViewController
에 설정하면 모든보기 및 하위보기의 모든 항목이 자동으로 숨겨집니다.accessibilityElementsHidden을 재귀 적으로 설정합니까?
일부보기의 경우 accessibilityElementsHidden
을 사용 중입니다. 스 와이프하면 VoiceOver 요소에 계속 표시됩니다. 이렇게하고 난 후에 LayoutChanged
알림을 게시하고 모든 UIAccessibilityContainer
비공식 프로토콜 메서드를 구현하고 내 accessibilityElements
속성에 해당보기가 포함되어 있지 않은지 확인했습니다. 내가 통해 :(
내가 [UIAccessibilityElement] 같은 애플의 자료 문서를 (이해한다면 https://developer.apple.com/library/ios/documentation/UIKit/Reference /UIAccessibilityElement_Class/index.html#// UIView가 기본적으로 액세스 가능하기 때문에'UIAccessibilityElements'는 뷰가 될 수 없습니다 ("_ 일반적으로 표준 UIKit 컨트롤 때문에 응용 프로그램의 항목에 대한 액세스 가능성 요소를 만들지 않습니다. 뷰는 기본적으로 접근 가능합니다. ") – anneblue
@anneblue'UIAccessibilityElement'는'UIAccessibility' 프로토콜의 일반적인 구현물입니다. 'UIView' 또한 프로토콜을 구현합니다 (실제로는 NSObject로 선언되었습니다). 프로토콜을 구현하는 모든 객체를 "액세스 가능성 요소"라고합니다. – Justin
나는 그것을 이해함에 따라; accessibilityElementsHidden은 주어진 뷰의 * subviews *에만 영향을줍니다. 그리고 그것은 UIViewController 전혀 작동하지 않습니다 용의자 - 해당 컨트롤러의 현재보기 트리에서 유일한 실제보기. 숨기려고하는 뷰에서 isAccessibilityElement = NO를 설정해 보셨습니까? - 특정 UIView를 숨기는 일반적인 방법입니다. 궁금한 점, UIAccessibilityContainer를 구현하는 이유는 무엇입니까? 사용자 정의 비 뷰 UI 요소를 노출하기 위해이 작업을 수행하고 있습니까? 아니면 다른 뷰를 숨기려고하는 것입니까? – BrendanMcK