共用方式為


在 Xamarin.iOS 中提供觸覺回饋

概觀

在 i 電話 7 和 i 電話 7 Plus 上,Apple 包含新的觸覺回應,提供額外的方式來實際吸引使用者。 觸覺回饋(通常稱為觸覺)會在使用者介面設計中使用觸控感(透過力、震動或運動)。 使用這些新的觸覺意見反應選項來引起使用者的注意,並強化其動作。

將會詳細介紹下列主題:

關於觸覺意見反應

數個內建的UI元素已經提供觸覺回饋,例如選擇器、開關和滑桿。 iOS 10 現在新增了使用 類別的具體子類別 UIFeedbackGenerator ,以程式設計方式觸發觸覺的功能。

開發人員可以使用下列 UIFeedbackGenerator 其中一個子類別,以程式設計方式觸發觸覺回饋:

  • UIImpactFeedbackGenerator - 使用此意見反應產生器來補充動作或工作,例如當檢視投影到位時或兩個螢幕上的物件相撞時呈現「暴動」。
  • UINotificationFeedbackGenerator - 將此意見反應產生器用於通知,例如動作完成、失敗或任何其他類型的警告。
  • UISelectionFeedbackGenerator - 使用此意見反應產生器來主動變更選取專案,例如從清單中挑選專案。

UIImpactFeedbackGenerator

使用此意見反應產生器來補充動作或工作,例如在檢視投影片到位時或兩個螢幕上的物件相撞時呈現「拇指」。

使用下列程式代碼來觸發影響意見反應:

using UIKit;
...

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

// Trigger feedback
impact.ImpactOccurred ();

當開發人員建立 類別的新實例 UIImpactFeedbackGenerator 時,他們會提供 UIImpactFeedbackStyle 指定意見反應強度為:

  • Heavy
  • Medium
  • Light

呼叫 Prepare 的 方法 UIImpactFeedbackGenerator ,以通知系統即將發生觸覺回饋,以便將延遲降到最低。

然後,方法 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 中實作它們。