随着 iPhone7 和 iPhone7 Plus 发布,Apple 为 iOS 10 引入了新的 API UIFeedbackGenerator
UIFeedbackGenerator
有三个子类,分别是
-
UINotificationFeedbackGenerator
:方便在通知到来时提供触感 -
UIImpactFeedbackGenerator
:方便在用户按压时提供触感 -
UISelectionFeedbackGenerator
:方便在控件被点击时提供触感
其它文章有详细描述 UIFeedbackGenerator
的用法,我就不赘述。下面讲一下如果你的工程 deployment target 低于 iOS 10 的时候,如何适配。
声明 UIFeedbackGenerator 对象为 Any
var feedback: Any?
在初始化 UIFeedbackGenerator 对象的地方添加 available 判断,使用的时候强转类型
if #available(iOS 10.0, *) {
feedback = UISelectionFeedbackGenerator()
let _feedback = feedback as! UISelectionFeedbackGenerator
_feedback.prepare()
feedback.selectionChanged() // 这个调用不一定是在初始化的时候,大家根据自己情况处理
}