UIKit으로 사용자 정의 TextInput View 만들기

글쓴이 연유 날짜

UIKit에서 UITextfiled 등, 줄 문자를 입력하기 위한 View들은 제공하고 있습니다. 그런데 말이죠, 줄 문자가 아닌, 위의 스크린샷과 같은 비밀번호 뷰는 도대체 어떻게 만드는 걸까요? 내키지는 않지만, UITextfiled를 hidden 한 다음에, 커스텀뷰를 방금 전 텍스트 필드의 인풋과 연동 시키면 되는 걸까요?

답은 Apple developer 사이트에

https://developer.apple.com/documentation/uikit/keyboards_and_input

한 방에 찾지는 않고 구글에 키워드 검색하다가 찾게되었지만, 이미 API 컬렉션으로 keyboads and input이 제공되고 있었습니다!

API Collection
Keyboards and Input (키보드와 입력)
Configure the system keyboard, create your own keyboards to handle input, or detect key presses on a physical keyboard. (시스템 키보드를 설정하고, 입력을 받기 위한 키보드를 만드세요. 또는 물리적인 키보드로부터 키 입력을 인식하세요.)

프로토콜을 채택하고, 구현만 하면되는 간단한 일이지만, 예제 코드로 따라가봅시다.

코드 작성하기

패스워드 뷰를 작성하기 위해서는 네가지 일을 해주면 됩니다.

  1. 패드워드 뷰의 View 요소 작성하기
  2. 패스워드 뷰의 상황을 전달 받을 딜리게이트 프로토콜 작성하기
  3. UITextInputTraits를 패스워드 뷰에 채택하고 구현하기
  4. UIKeyInput를 패스워드 뷰에 채택하고 구현하기

아래는 예제 코드입니다.

간단하네요!

카테고리: 미분류