Tag: 触觉引擎

iOS基础知识— UIFeedbackGenerator

我的新iPhone X触手可及的令人惊讶的新功能之一:振动。 因为我的旧手机是iPhone6s,所以我没有经历过Haptic Engine的新更改。 自从成为iOS开发人员以来,我想了解有关iOS设备的所有知识,不仅要了解软件,还要了解硬件组件,因为实际的物理特性决定了它们自己的内部状态和功能。 当苹果推出Haptic Engine时,新的API也随之出现:UIFeedbackGenerator。 明确命名,它只是旨在为用户提供诸如振动之类的触觉反馈。 该反馈生成器已经内置了拾取器,开关和滑块,可以在屏幕上点击或选择时为用户提供更好的体验。 此外,Apple在文档中还提到开发人员也可以将其用于自己的自定义视图或控件。 您可以实现三种类型的反馈 : UIImpactFeedbackGenerator , UISelectionFeedbackGenerator , UINotificationFeedbackGenerator 。 每一种都会给用户带来不同类型的振动,以通知设备正在与其交互。 如果您在下面阅读更多内容,然后下载并执行演示应用程序,则将能够更加清楚地了解。 这些反馈属性非常容易实现! 如何实施 首先,简单易行地说,要实现此过程需要三个步骤。 1.声明 2.准备 3.火 通过阅读下文,您将能够更好地了解每个反馈生成器以及如何详细实现它们。 UIImpactFeedbackGenerator 因为我一直想使事情变得简单和简单,所以当我的手指点击实现的视图时,此生成器会给我带来振动的影响。 您可以将影响设置为轻,中或重,并且在Swift中编写代码非常容易。 请看下面的代码片段,从顶部开始的前三个按钮的标记值为整数,并且目标操作相同。 在“ handleImpactFeedbackGenerator”函数中,将使用不同的影响反馈来初始化impackFeedbackGenerator。 上面提到,它非常易于使用。 按下每个按钮时,不同的反馈振动将使您知道您刚刚轻按了按钮。 UISelectionFeedbackGenerator 起初我很困惑这个发生器是什么,因为它只会产生轻微的振动反馈。 似乎与样式为light的UIImpactFeedbackGenerator并没有太大不同。 确实如此,但是根据Apple的官方文档,当有一系列选项且用户必须选择一个时,应使用此生成器。 在演示应用程序中,我创建了一个UITableView来列出从1月到12月的列表,以供用户选择自己的生日(点击文本字段时将弹出表格视图)。 当您选择列表中可用的选项之一时,生成器会发出轻微的振动,让您知道该项目已成功选择。 UINotificationFeedbackGenerator 老实说,我不知道这是什么,为什么我需要它。 通过彻底阅读文档并构建演示应用程序,它变得更加清晰。 首先,我将告诉您该反馈生成器在iPhone中的使用位置。 当您通过Airdrop将图片或视频发送给您的朋友并且任务成功完成时,手机会剧烈震动。 我立刻以为是UIImactFeedbackGenerator。 想了又长时间,我问自己,发送照片的任务是否失败。 由于网络连接不良或某些其他原因,空投有时可能会失败。 Apple设计了此生成器,以提供反馈以通知用户任务是否已成功完成。 您可以实现三种类型的通知反馈:成功,警告和错误。 每个都提供不同的振动反馈。 按下最后三个按钮。 您会感觉到差异。 前两种类型,成功和警告,非常相似,但我猜想振动模式有细微的差别。 […]