사용자가 터치했음을 감지시키고 싶을때 햅틱 기능을 넣으면 좋긴하죠
그렇기에 햅틱 기능을 사용하는 방법에 대해서 적어보도록 하겠습니다.
let hapticImpact = UIImpactFeedbackGenerator(style: .medium)
UIImpactFeedbackGenerator 클래스를 생성하고 init에 5개중 하나의 선택지를 넣으면 됩니다.
// light, medium, soft 등
그 후 햅틱을 적용시키고 싶은 부분에 넣어주면 되는데요.
let hapticImpact = UIImpactFeedbackGenerator(style: .medium)
var body: some View {
NavigationView {
List {
ForEach(videos) { video in
VideoListItemView(video: video)
.padding(.vertical, 8)
}
}
.listStyle(InsetGroupedListStyle())
.navigationTitle("Videos")
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
Button {
videos.shuffle()
// *********************
hapticImpact.impactOccurred()
// *********************
} label: {
Image(systemName: "arrow.2.squarepath")
}
}
}
}
}
.impactOccurred() 이 코드를 넣으면 됩니다!
저는 사용자가 비디오들을 섞으면 섞인다는 촉감? 을 주기위해 햅틱을 shuffle버튼에 넣고 사용했습니다.
시뮬레이터에선 당연히 작동이되는지 모르겠죠? 실기기에서 활용하세요!