How to read the Digital Crown on watchOS using digitalCrownRotation()
SwiftUI/Cross-platform 2019. 12. 2. 14:58반응형
Hacking with Swift 사이트의 강좌 번역본입니다.
[원문 : https://www.hackingwithswift.com/quick-start/swiftui/how-to-make-carousel-lists-on-watchos]
How to read the Digital Crown on watchOS using digitalCrownRotation()
SwiftUI는 2개의 modifier를 사용해서 앱에서 Digital Crown을 드러내며, crown을 입력으로 사용하려면 둘다 사용해야만 합니다. 첫번째는 해당 뷰가 Digital Crown 업데이트를 받고자 할때 true가 되야 하는 focusable()이고, Digital Crown과 선택한 프로퍼티 간에 바인딩을 만드는 digitalCrownRotation()입니다.
다음은 시작하기 위한 간단한 예제입니다.
struct ContentView: View {
@State var scrollAmount = 0.0
var body: some View {
Text("Scroll: \(scrollAmount)")
.focusable(true)
.digitalCrownRotation($scrollAmount)
}
}
그것은 음수 무한대에서 양수 무한대로 스크롤 될 것이며, 텍스트 뷰에서 사용자정의 스크롤 값을 보여줍니다.
팁: digitalCrownRotation() 뒤에 focusable()를 넣으면, 더 이상 동작하지 않을 것입니다.
digitalCrownRotation() modifier는 동작하는 방법을 더 잘 제어할 수 있는 다른 형태(forms)가 있습니다. 예를들어,
- from과 through는 스크롤 범위를 설정합니다.
- by는 crown이 회전할때마다 얼마나 변경해야 하는지 제어하는 걸음(step) 수를 설정합니다.
- sensitivity는 crown이 변경사항이 발생하도록 이동되는데 필요한 양을 결정합니다.
- isContinuous는 값이 최소값이나 최대값에 도달하거나 그 경계에서 멈출지를 결정합니다.
- isHapticFeedbackEnabled는 회전에서 햅틱 피드백이 발생하는지를 결정합니다.
예를들어, 해당 modifier는 낮은 감도로, 시작부터 끝까지 햅틱 피드백을 사용해서 1에서 5까지 0.1씩 증가합니다.
.digitalCrownRotation($scrollAmount, from: 1, through: 5, by: 0.1, sensitivity: .low, isContinuous: true, isHapticFeedbackEnabled: true)
반응형
'SwiftUI > Cross-platform' 카테고리의 다른 글
How to make carousel lists on watchOS (0) | 2019.12.02 |
---|---|
How to get translucent lists on macOS (0) | 2019.12.02 |
Learn once, apply anywhere (0) | 2019.12.02 |