低于 iOS 10 TapEngine 的适配方案

随着 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() // 这个调用不一定是在初始化的时候,大家根据自己情况处理
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容