[ iOS | SwiftUI ] FocusState 이용하여 자동으로 키보드 보여주기

someng·2022년 9월 27일
0

iOS

목록 보기
7/35

SwiftUI에서 TextEditor를 사용할 때,
키보드를 자동으로 보여주면 유저에게 TextEditor의 존재를 잘 전달할 수 있다.
사용 방법은 다음과 같다.

1️⃣ FocusState 선언

@FocusState var focused: Bool

2️⃣ TextEditor와 연결

TextEditor(text: $vm.text)
	.focused($focused)
	.border(.gray.opacity(0.2), width: 2)

3️⃣ onAppear 설정

.onAppear {
	DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
		self.focused = true
	}
}

TextEditor를 감싸고 있는 VStack의 바깥에 onAppear 을 설정하였다.
DispathQueue.main.asyncAfter로 딜레이를 주기 전에는 키보드가 자동으로 올라오지 않아 딜레이를 주었다!

결과 화면

profile
👩🏻‍💻 iOS Developer

0개의 댓글

관련 채용 정보