在 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 中實作它們。