ios画外音滑块双击并按住,但用于自定义视图

Posted

技术标签:

【中文标题】ios画外音滑块双击并按住,但用于自定义视图【英文标题】:ios voiceover slider double tap and hold, but for custom view 【发布时间】:2019-02-28 04:45:31 【问题描述】:

我创建了一个自定义视图,其行为类似于UISlider - 有一个“轨道”和一个“抓取”句柄来更改值。出于特殊原因,我不能将其设为UISlider 的子类。我正在尝试使用 VoiceOver 使这个滑块尽可能容易访问。我在处理single finger drag upsingle finger drag down 的自定义视图上有accessibilityIncreaseaccessibilityDecrease。这会将滑块的值一次更改 10%。

但是,我希望允许更精细的控制,就像非 VoiceOver 滑块一样。默认情况下,UISlider 具有double tap and hold,您可以向上/向下拖动以“平移”滑块。我想将它准确地添加到我的自定义视图中,但我找不到正确的咒语来处理 double tap and hold 手势。

我可以做些什么来在我的自定义视图上模仿UISlider 中的double tap and hold 手势吗?

非常感谢!!!

【问题讨论】:

【参考方案1】:

如果你想为 VoiceOver 用户实现这种新手势,那就别管它了。

这种 UI 控件的recommended gesture 绝对是您显然已经做过的可调整值的实现。

我认为尝试在应用程序中实现新的 VoiceOver 手势不是一个好主意,因为它的用户有自己的习惯,如果他们无法处理自定义控件,他们可能会完全迷失,除非您添加 hint解释一下,但这绝对不是我推荐的。

否则,您可以查看 What's New in Accessibility WWDC 2017 视频中介绍的 pass through 概念,该视频处理相同的想法,但用于平移手势...

【讨论】:

您有更多关于直通功能的信息吗?看起来这正是我想要的——通过平移手势到视图本身。那会像普通的 UISlider 一样擦洗滑块,对吧?我在任何地方都找不到该功能的示例。非常感谢! 这更像是一个“概念”而不是“功能”,我在帖子中更正了这个术语。在 WWDC 示例中更容易实现,因为对象可以分为许多部分。你可以用你的自定义滑块来做到这一点,并影响每个小部分的激活点,但要达到你的目的却是一团糟。我还没有看到这个概念在任何地方实现,但是在这里很好地解释了“activationPoint”的使用:a11y-guidelines.orange.com/mobile_EN/… 非常感谢 - 我下注并强迫自己使用UISlider。不幸的是,替代方案是如此困难。感谢您的时间和帮助!

以上是关于ios画外音滑块双击并按住,但用于自定义视图的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何使用滑块设置自定义背景颜色?

iOS 自定义控件

iOS 6.1 中用于自定义相机视图的自动旋转

双击自定义视图打开 2 个活动

如何为 ios 本地通知内容提供自定义辅助功能文本 - UNNotificationContent

MPMoviePlayerController 自定义音量滑块问题