Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Refactoring
- UITextView
- tableView
- clean architecture
- ribs
- Human interface guide
- uitableview
- Observable
- Protocol
- Xcode
- HIG
- uiscrollview
- combine
- swiftUI
- ios
- 애니메이션
- 리펙토링
- map
- swift documentation
- collectionview
- SWIFT
- 리팩토링
- 리펙터링
- MVVM
- 스위프트
- RxCocoa
- rxswift
- Clean Code
- UICollectionView
- 클린 코드
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 5. VoiceOver 접근성 실전 - 접근성 계층관계 본문
1. VoiceOver 접근성 실전 - 개발 시작하기 (손쉬운 사용 단축키, Accessibility Inspector, 테스트)
3. VoiceOver 접근성 실전 - 접근성 처리 (순서 처리, 이미지 인식, accessibility label, value, traits, hint 사용)
4. VoiceOver 접근성 실전 - UIAccessibility Notification (post, 노티)
5. VoiceOver 접근성 실전 - 접근성 계층관계
접근성 계층 관계
- addsubview하여 뷰를 추가하면 이벤트가 발생할때 이벤트를 받는 뷰는 가장 subview이지만 접근성은 반대로 superview가 받는것을 알기
- 빨간뷰 - 초록뷰 - 파란뷰 순서대로 a, b, c View라고 할 때, 모두 접근성이 켜져있는 경우 (isAccessibilityElement = true) 실제로 접근성은 aView만 적용됨
- 여기서 bView (초록색뷰)만 접근성 포커싱이 가도록 하는 방법?
- aView의 접근성만 끄기 (접근성은 항상 supview가 우선으로 받고 하위 뷰들의 접근성을 막으므로 cView의 접근성이 켜져있어도 포커싱 x)
aView.isAccessibilityElement = false
// cView의 isAccessibilityElement 값은 true or false 상관 없음
- 마찬가지로 cView의 접근성만 키고싶은 경우, aView와 cView의 접근성을 꺼야 활성화됨
계층관계 관리 방법
- aView, bView, cView 모두 접근성 포커싱이 가도록 하는 방법?
- accessibilityElements를 사용하여 처리
view.accessibilityElements = [aView, bView, cView]
- 만약 4개의 뷰들의 접근성이 활성화 되어 있을 때, cView, label 두개의 뷰를 접근성 비활성화 하는 방법?
view.accessibilityElements = [aView, bView, cView, label]
- 위 elements 배열에서 빼거나 아래처럼 두 개에 각각 isAccessibilityElement를 false로 설정
cView.isAccessibilityElement = false
label.isAccessibilityElement = false
'iOS 응용 (swift)' 카테고리의 다른 글
Comments