2014-12-12 6 views
0

간단한 질문 : accessibilityElementsHiddenUIViewController에 설정하면 모든보기 및 하위보기의 모든 항목이 자동으로 숨겨집니다.accessibilityElementsHidden을 재귀 적으로 설정합니까?

일부보기의 경우 accessibilityElementsHidden을 사용 중입니다. 스 와이프하면 VoiceOver 요소에 계속 표시됩니다. 이렇게하고 난 후에 LayoutChanged 알림을 게시하고 모든 UIAccessibilityContainer 비공식 프로토콜 메서드를 구현하고 내 accessibilityElements 속성에 해당보기가 포함되어 있지 않은지 확인했습니다. 내가 통해 :(

+0

내가 [UIAccessibilityElement] 같은 애플의 자료 문서를 (이해한다면 https://developer.apple.com/library/ios/documentation/UIKit/Reference /UIAccessibilityElement_Class/index.html#// UIView가 기본적으로 액세스 가능하기 때문에'UIAccessibilityElements'는 뷰가 될 수 없습니다 ("_ 일반적으로 표준 UIKit 컨트롤 때문에 응용 프로그램의 항목에 대한 액세스 가능성 요소를 만들지 않습니다. 뷰는 기본적으로 접근 가능합니다. ") – anneblue

+0

@anneblue'UIAccessibilityElement'는'UIAccessibility' 프로토콜의 일반적인 구현물입니다. 'UIView' 또한 프로토콜을 구현합니다 (실제로는 NSObject로 선언되었습니다). 프로토콜을 구현하는 모든 객체를 "액세스 가능성 요소"라고합니다. – Justin

+0

나는 그것을 이해함에 따라; accessibilityElementsHidden은 주어진 뷰의 * subviews *에만 영향을줍니다. 그리고 그것은 UIViewController 전혀 작동하지 않습니다 용의자 - 해당 컨트롤러의 현재보기 트리에서 유일한 실제보기. 숨기려고하는 뷰에서 isAccessibilityElement = NO를 설정해 보셨습니까? - 특정 UIView를 숨기는 일반적인 방법입니다. 궁금한 점, UIAccessibilityContainer를 구현하는 이유는 무엇입니까? 사용자 정의 비 뷰 UI 요소를 노출하기 위해이 작업을 수행하고 있습니까? 아니면 다른 뷰를 숨기려고하는 것입니까? – BrendanMcK

답변

1

나는 약간 뷰에 accessibilityElementsHidden을 돌리겠다, 그들은 있어 슬쩍 아직, 그들은 여전히 ​​아직도 보여주는 표시 [...]

확인 accessibilityElementsHidden이 있는지 당신이 숨기고 싶은 요소의부모에 YES로 설정합니다.

+0

그래, 난보기 컨트롤러와 자사의 .view 속성을 켜고 있어요. 아니 기쁨 : ( – Luke

+0

보기 및 접근성 계층 구조를 공유 할 수 있습니까? – Justin

+0

부모에서이 속성을 true로 설정하면 해당 부모의 모든 하위보기가 숨겨지고 결국 여러 가지 중 하나만 숨기려면 적합하지 않을 수 있습니다 동기. – BrendanMcK