본문 바로가기
Swfit

accessibility identifiers 추가하는 방법

by GGShin 2023. 1. 13.

UIView에 identifier를 추가하면 Constraint log를 조금 더 쉽게 볼 수 있습니다.

Code로는 어떻게 추가할 수 있는 지 알아보겠습니다.

 

  private let button: UIButton = {
        let button = UIButton()
        button.setTitle("Button", for: .normal)
        button.backgroundColor = .systemBlue
        //accessibilityIdentifier & isAccessibilityElement 설정!
        button.accessibilityIdentifier = "button"
        button.isAccessibilityElement = true
        
        button.translatesAutoresizingMaskIntoConstraints = false
        return button

    }()

 

accessibilityIdentifier에 원하는 identifier를 String type으로 설정해주고  isAccessibilityElement를 true로 설정해줍니다.

제대로 설정이 되었는지 확인 하는 방법 중에는 project run 상태에서 view hierarchy 화면으로 들어간 뒤 오른쪽 판넬에서 보는 방법이 있습니다. 

 

위에서 button의 identifier를 "button"으로 설정해 주었는데, 위 사진을 보면 잘 설정된 것을 확인할 수 있습니다.

필요시 viewDidLayoutSubviews 내에 constraintsAffectingLayout(for:)를 호출하여 constraint 로그를 확인할 때 유용하게 사용될 수 있습니다. 

 

constraintsAffectingLayout(for:)를 호출한다고 해서 view에 영향을 주는 모든 constraints들이 다 로그되는 것은 아니지만, 필요 시에 사용해 볼 수 있을 것 같습니다. 

 


 

참고자료

https://developer.apple.com/forums/thread/31294

 

How to add accessibility identifie… | Apple Developer Forums

How to add accessibility identifiers for custom views? if we set a key value pair accessibilityIdentifier in swift file, its not being detected by the automation tool and also the instruments. Please help me get this.

developer.apple.com

https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/DebuggingTricksandTips.html#//apple_ref/doc/uid/TP40010853-CH21-SW1

 

Auto Layout Guide: Debugging Tricks and Tips

 

developer.apple.com

 

반응형

'Swfit' 카테고리의 다른 글

Semantic Versioning - 버전 정하는 방식  (0) 2023.01.15
Missing package product <package name> 에러 해결 방법  (0) 2023.01.14
APNs에 대해서 알아보기!  (0) 2023.01.05
iOS Device resolution  (0) 2023.01.04
Apple 인증서 종류  (0) 2023.01.04