"Create intuitive and easily manipulated user-interactive controls for your tvOS app."
tvOS 앱을 위한 직관적이고 쉽게 조작되는 사용자 상호작용 컨트롤을 생성합니다.
애플 TV에서 사람들은 무비 포스터, 앱, 버튼과 같은 인터페이스 요소를 탐색하기 위해 리모트 혹은 게임 컨트롤러를 사용합니다. 각 아이템은 들어올 때마다 강조되면서 나타납니다. 강조된 아이템은 초점이 맞춰져 있다고 부르거나 포커스에 있다고 부릅니다. 이 아이템은 위로 들어올려져 있거나 다른 아이템과 대비되는 특징의 모습을 나타내게 됩니다. (아이템을 사용자가 선택하진 않았지만 강조하고 있을 때 포커스가 맞춰진 것으로 간주합니다.) 사용자는 포커스 업데이트를 촉발하는 다른 UI 아이템으로 탐색함으로써 포커스를 이동시킵니다.
Xcode에서 앱에 추가하고자 하는 아이템을 위해 라이브러리 창을 탐색하고, 아이템을 드래그해서 스토리보드로 이동시키기 바랍니다. 몇 가지 UIKit
요소는 기본값으로 초점이 맞춰질 수 있는 요소이며, 버튼(UIButton
), 텍스트 필드(UITextField
), 테이블 셀(UITableViewCell
)을 포함합니다. 왼쪽 상단 아이템은 앱이 launch될 때 포점이 맞춰집니다. (오른쪽에서 왼쪽으로 읽는 언어는 오른쪽 상단 아이템이 초기 포커스 상태가 됩니다.) 기본값으로 초점이 맞춰질 수 있는 UIKit
요소에 추가적으로 무엇인가를 할 필요는 없습니다. 그러나 초점이 맞춰질 수 있는 요소로써 SceneKit
, SpriteKit
노드를 추가할 수도 있습니다. SceneKit
혹은 SpriteKit
노드를 초점이 맞춰질 수 있는 상태로 만드려면, 노드의 focusBehavior
속성을 focusable
로 설정하시기 바랍니다.
node.focusBehavior = .focusable
초점이 맞춰질 수 있는 아이템 사이에서 포커스를 움직이도록 하는 가장 쉬운 방법은 그리드 패턴에 아이템을 정렬하는 것입니다. 리모트에서 스와이프하는 것은 스와이프 방향에서 초점이 맞춰질 수 있는 모든 아이템을 찾기 위해 포커스 엔진(포커스와 움직임을 제어하는 시스템)을 깨웁니다. 그러면 발견된 첫 번째 아이템은 초점이 맞춰진 아이템이 됩니다. Figure 1은 사용자가 오른쪽으로 스와이프할 때 포커스 엔진에 의해 발견된 아이템을 보여주고 있으며, 이를 통해 이 아이템은 초점이 맞춰지게 됩니다.
Figure 1 Swiping right on the remote
Figure 2는 사용자가 스와이프를 아래 방향으로 움직일 때 포커스 엔진에 의해 발견된 아이템을 보여주며, 이 아이템은 초점이 맞춰지게 됩니다.
Figure 2 Swiping down on the remote
포커스 엔진이 스와이프 방향에서 어떠한 아이템이라도 발견하지 못하는 경우 기본값으로 초점이 맞춰진 아이템은 변경되지 않습니다. Figure 3에서 보이는 것과 동일합니다.
Figure 3 Swiping down with no items
필요한 경우 UI에서 초점이 맞춰질 수 있는 아이템을 다른 것으로 재연결하기 위해 UIFocusGuide
를 사용해서 기본값 동작을 변경시킬 수도 있습니다.
https://developer.apple.com/documentation/uikit/focus-based_navigation/about_focus_interactions_for_apple_tv
https://velog.io/@panther222128/About-Focus-Interactions-for-Apple-TV
현재 초점이 맟줘진 아이템을 쿼리하거나 재평가합니다.
https://developer.apple.com/documentation/uikit/uifocussystem
https://velog.io/@panther222128/UIFocusSystem
하나의 뷰로부터 다른 뷰로의 특정 포커스 업데이트와 관련한 정보를 제공하는 객체입니다.
https://developer.apple.com/documentation/uikit/uifocusupdatecontext
https://velog.io/@panther222128/UIFocusUpdateContext
초점이 맞춰진 아이템에 대한 이동 힌트 정보를 제공합니다.
https://developer.apple.com/documentation/uikit/uifocusmovementhint
https://velog.io/@panther222128/UIFocusMovementHint