nyancoder

WWDC 2021 - Use the camera for keyboard input in your app 본문

WWDC/WWDC 2021

WWDC 2021 - Use the camera for keyboard input in your app

nyancoder 2021. 8. 6. 02:53

원본 영상: https://developer.apple.com/videos/play/wwdc2021/10276/

 

  • iOS 15에서 필드를 두 번 탭 하면 카메라에서 텍스트를 받아오는 새 옵션이 표시됩니다.

  • 새 옵션을 선택하면 키보드 영역에 카메라가 실행되어 문서에서 텍스트 그룹을 인식합니다.

  • 인식된 텍스트에서 전화번호만 선택하여 삽입을 탭 하면 입력이 완료됩니다.

  • 전화번호를 입력하는 것처럼 숫자만 입력받아야 할 때는 콘텐츠 필터링을 해야 합니다.
  • 콘텐츠 필터링은 텍스트 필드나 텍스트 뷰의 TextContentType과 KeyboardType 속성을 사용하여 수행됩니다.

  • 카메라는 TextContentType중의 위의 7가지를 필터링합니다.
  • 전화번호, 주소, URL, 이메일의 4개 이미 존재했으며, iOS 15에 항공편 번호, 배송 추적 번호, 날짜, 시간 및 기간의 세 가지 유형이 추가되었습니다.

  • Interface Builder의 속성 탭에서 콘텐츠 유형 및 키보드 유형을 수정할 수 있습니다.

  • 코드에서는 keyboardType과 textContentType 필드를 통해서 값을 할당할 수 있습니다.

  • autocorrectionType이 no인 경우 iOS에서 카메라에 빠르게 액세스 할 수 있는 버튼을 제공합니다.

  • 전화번호로 필드가 설정되어 있으면 카메라에서 다른 모든 텍스트를 자동으로 무시합니다.

iOS 15에 추가된 captureTextFromCamera 함수를 사용하면 키보드 카메라를 명시적으로 시작할 수 있는 Action을 생성할 수 있습니다.

  • 하지만 카메라 런처를 추가하기 전에 canPerformAction의 결과를 확인해야 합니다.
  • UIAction에서 captureTextFromCamera함수를 호출하여 작동하기 때문에, 이 함수를 사용할 수 없는 경우에 대비해야 합니다.

  • 2018년 이후의 Neural Engine을 가진 기기에서만 사용할 수 있습니다.
  • Responder는 텍스트 삽입을 반드시 처리해야 합니다.
  • UITextView나 UITextField는 편집 가능한 상태여야 합니다.

  • 위의 7개의 지원 언어 중 한 가지 언어여야 사용할 수 있습니다.

  • 새로운 예제에서는 이미지 뷰에 텍스트를 카메라로부터 붙여 넣습니다.

  • 위의 이미지는 카메라로부터 텍스트를 붙여 넣은 결과입니다.

  • 텍스트 컨트롤은 UIKeyInput 프로토콜을 지원하며, 여기에는 카메라가 앱으로 텍스트를 전송하는 insertText함수가 있습니다.

  • 실제로는 Text 컨트롤은 UIKeyInput의 확장인 UITextInput 프로토콜을 채택합니다.
  • UITextInput는 카메라를 사용할 때 setMarkedText함수를 통해 삽입할 텍스트의 미리보기를 얻을 수 있습니다.

  • 그리고 UIKeyInput자체는 UITextInputTraits를 확장하는데, KeyboardType 및 TextContentType과 같은 카메라 입력을 필터링하기 위한 선택적인 속성이 있습니다.

  • ImageView와 UIKeyInput 프로토콜을 따르는 HeadlineImageView라는 클래스를 만들 수 있습니다.

  • 이 경우 insertText를 구현하면 카메라에서 텍스트를 가져와서 뷰에 텍스트를 붙일 수 있게 됩니다.

 

목차: https://nyancoder.tistory.com/2

Comments