Neoself의 기술 블로그

SwiftUI | FocusState API 정리 본문

개발지식 정리/WWDC 정리

SwiftUI | FocusState API 정리

Neoself 2025. 4. 4. 22:27

1. SwiftUI에서의 포커스 관리 방법

FocusState API

사용자의 주의력을 유도하기 위해 포커스의 이동을 커스텀할 수 있습니다.

여기서 FocusState는 현재 포커스 위치에 따라 변화하는 상태를 의미

포커스된 Field의 식별자를 보관하는 데에 사용됩니다.

FocusedField 변수는 enum 타입으로 정의되며, 문자열, 정수 또는 해시 가능 값 타입을 사용할 수 있습니다.

이 수정자는 포커스의 배치와 관련된 상호연결을 생성합니다.

좌측 예시의 경우, 이메일 형식이 올바르지 않으면, focusedField를 .email로 설정하여 이메일 입력 필드로 포커스를 되돌리는 로직이 구현되어있으며, 빨간색 테두리가 표시되는 조건에도 이 focusedField의 상태를 활용합니다.

만일 폼 데이터가 모두 유효한 것이 확인될 경우에는, focusState 변수를 nil로 설정해 키보드를 내려줄 수 있습니다. 

 

 


Reference

https://www.youtube.com/watch?v=yOF1mDTT800