Xamarin.iOS에서 촉각 피드백 제공

개요

i전화 7 및 i전화 7 Plus에서 Apple은 사용자를 물리적으로 참여시키는 추가 방법을 제공하는 새로운 촉각 응답을 포함했습니다. 촉각 피드백(단순히 Haptics라고도 함)은 사용자 인터페이스 디자인에서 터치감(힘, 진동 또는 동작을 통해)을 사용합니다. 이러한 새로운 촉각 피드백 옵션을 사용하여 사용자의 주의를 끌고 작업을 강화합니다.

다음 항목에 대해 자세히 설명합니다.

촉각 피드백 정보

몇 가지 기본 제공 UI 요소는 이미 선택기, 스위치 및 슬라이더와 같은 촉각 피드백을 제공합니다. 이제 iOS 10은 클래스의 UIFeedbackGenerator 구체적인 서브클래스를 사용하여 촉각을 프로그래밍 방식으로 트리거하는 기능을 추가합니다.

개발자는 다음 UIFeedbackGenerator 하위 클래스 중 하나를 사용하여 프로그래밍 방식으로 촉각 피드백을 트리거할 수 있습니다.

  • UIImpactFeedbackGenerator - 이 피드백 생성기를 사용하여 보기가 제자리에 놓이거나 두 개의 화면 개체가 충돌할 때 "thud"를 표시하는 등의 작업이나 작업을 보완할 수 있습니다.
  • UINotificationFeedbackGenerator - 작업 완료, 실패 또는 다른 유형의 경고와 같은 알림에 이 피드백 생성기를 사용합니다.
  • UISelectionFeedbackGenerator - 목록에서 항목 선택과 같이 적극적으로 변경되는 선택에 이 피드백 생성기를 사용합니다.

UIImpactFeedbackGenerator

이 피드백 생성기를 사용하여 보기가 제자리에 놓이거나 두 개의 화면 개체가 충돌할 때 "thud"를 표시하는 등의 작업이나 작업을 보완할 수 있습니다.

다음 코드를 사용하여 영향 피드백을 트리거합니다.

using UIKit;
...

// Initialize feedback
var impact = new UIImpactFeedbackGenerator (UIImpactFeedbackStyle.Heavy);
impact.Prepare ();

// Trigger feedback
impact.ImpactOccurred ();

개발자가 클래스 UIImpactFeedbackStyle 의 새 인스턴스를 UIImpactFeedbackGenerator 만들 때 피드백의 강도를 다음과 같이 지정합니다.

  • Heavy
  • Medium
  • Light

PrepareUIImpactFeedbackGenerator 대기 시간을 최소화할 수 있도록 촉각 피드백이 발생할 것임을 시스템에 알리기 위해 메서드가 호출됩니다.

그런 다음 이 메서드는 ImpactOccurred 촉각 피드백을 트리거합니다.

UINotificationFeedbackGenerator

작업 완료, 실패 또는 다른 유형의 경고와 같은 알림에 이 피드백 생성기를 사용합니다.

다음 코드를 사용하여 알림 피드백을 트리거합니다.

using UIKit;
...

// Initialize feedback
var notification = new UINotificationFeedbackGenerator ();
notification.Prepare ();

// Trigger feedback
notification.NotificationOccurred (UINotificationFeedbackType.Error);

클래스의 UINotificationFeedbackGenerator 새 인스턴스가 만들어지고 Prepare 대기 시간을 최소화할 수 있도록 촉각 피드백이 발생할 것임을 시스템에 알리기 위해 해당 메서드가 호출됩니다.

지정된 NotificationOccurred 다음을 사용하여 촉각 피드백을 UINotificationFeedbackType 트리거하기 위해 호출됩니다.

  • Success
  • Warning
  • Error

UISelectionFeedbackGenerator

목록에서 항목 선택과 같이 적극적으로 변경되는 선택에 이 피드백 생성기를 사용합니다.

다음 코드를 사용하여 선택 피드백을 트리거합니다.

using UIKit;
...

// Initialize feedback
var selection = new UISelectionFeedbackGenerator ();
selection.Prepare ();

// Trigger feedback
selection.SelectionChanged ();

클래스의 UISelectionFeedbackGenerator 새 인스턴스가 만들어지고 Prepare 대기 시간을 최소화할 수 있도록 촉각 피드백이 발생할 것임을 시스템에 알리기 위해 해당 메서드가 호출됩니다.

그런 다음 이 메서드는 SelectionChanged 촉각 피드백을 트리거합니다.

요약

이 문서에서는 iOS 10에서 사용할 수 있는 새로운 유형의 촉각 피드백과 Xamarin.iOS에서 이를 구현하는 방법을 설명했습니다.