iOS 14에 도입된 SwiftUI의 .keyboardShortcut 수정자는 컨트롤에 키보드 단축키를 할당할 수 있게 해줍니다. 이러한 단축키는 컨트롤의 주요 동작을 트리거합니다. 이 수정자는 기본 Command 키 외에 다른 보조 키를 사용자 정의할 수 있습니다. 주요 예시는 버튼에 단축키를 적용하여 뷰 간의 탐색을 보여줍니다. 놀랍게도 단축키는 연결된 컨트롤이 화면 밖에 있을 때도 활성 상태를 유지합니다. 이러한 동작은 단축키 대상을 찾기 위해 SwiftUI가 뷰 계층 구조를 깊이 우선 탐색하는 방식에서 비롯됩니다. 시스템은 가시성과 관계없이 첫 번째로 일치하는 컨트롤을 찾는 것을 우선시합니다. 이로 인해 화면 밖에 있는 컨트롤이 여전히 단축키에 반응하는 예상치 못한 동작이 발생할 수 있습니다. 해결 방법은 뷰 상태에 따라 .disabled 수정자를 사용하여 컨트롤을 비활성화하는 것입니다. 이렇게 하면 관련 컨트롤이 표시될 때만 단축키가 활성화됩니다. Curt Clifton의 코멘트는 추가적인 맥락을 제공합니다.
.keyboardShortcut수정자는 컨트롤에 키보드 단축키를 할당할 수 있게 해줍니다. 이러한 단축키는 컨트롤의 주요 동작을 트리거합니다. 이 수정자는 기본 Command 키 외에 다른 보조 키를 사용자 정의할 수 있습니다. 주요 예시는 버튼에 단축키를 적용하여 뷰 간의 탐색을 보여줍니다. 놀랍게도 단축키는 연결된 컨트롤이 화면 밖에 있을 때도 활성 상태를 유지합니다. 이러한 동작은 단축키 대상을 찾기 위해 SwiftUI가 뷰 계층 구조를 깊이 우선 탐색하는 방식에서 비롯됩니다. 시스템은 가시성과 관계없이 첫 번째로 일치하는 컨트롤을 찾는 것을 우선시합니다. 이로 인해 화면 밖에 있는 컨트롤이 여전히 단축키에 반응하는 예상치 못한 동작이 발생할 수 있습니다. 해결 방법은 뷰 상태에 따라.disabled수정자를 사용하여 컨트롤을 비활성화하는 것입니다. 이렇게 하면 관련 컨트롤이 표시될 때만 단축키가 활성화됩니다. Curt Clifton의 코멘트는 추가적인 맥락을 제공합니다.