为钢琴风格 UI 元素添加辅助功能
Adding Accessibility to piano style UI element
我正在尝试使音乐键盘 UI 元素易于访问。就像 GarageBand 的做法一样。换句话说,首先触摸用户被 VoiceOver 告知他们正在触摸音乐键盘,从那时起,音乐键盘视图上的每次点击都会播放音符,并且在用户触摸音乐键盘框架之外之前不会有进一步的 VoiceOver 中断。
我有一个 UICollectionView
,其中每个单元格代表一个音乐键,当用户点击它时,音符会按预期播放。但是,我很难让它像 GB 那样工作。对于 UICollectionView
对象,我设置了 accessibilityLabel
并将 accessibilityTraits
设置为 UIAccessibilityTraitAllowsDirectInteraction
。但这似乎不起作用。当 VoiceOver 打开时,它不会播放任何音符。第一次点击时,VoiceOver 会报出 accessibilityLabel 设置的内容,然后每次点击都会发出哔哔声。
我有自定义 UIGestureRecogniser
子类,用于集合视图单元格点击检测。在这种情况下我需要做一些特别的事情吗?
有什么想法吗?我还需要做其他事情吗?
想通了。但是不确定原因是什么。
将音乐键盘 UICollectionView 嵌入到另一个视图中,并使该视图可通过 UIAccessibilityTraitAllowsDirectInteraction
特性访问。现在它按预期工作了。
我正在尝试使音乐键盘 UI 元素易于访问。就像 GarageBand 的做法一样。换句话说,首先触摸用户被 VoiceOver 告知他们正在触摸音乐键盘,从那时起,音乐键盘视图上的每次点击都会播放音符,并且在用户触摸音乐键盘框架之外之前不会有进一步的 VoiceOver 中断。
我有一个 UICollectionView
,其中每个单元格代表一个音乐键,当用户点击它时,音符会按预期播放。但是,我很难让它像 GB 那样工作。对于 UICollectionView
对象,我设置了 accessibilityLabel
并将 accessibilityTraits
设置为 UIAccessibilityTraitAllowsDirectInteraction
。但这似乎不起作用。当 VoiceOver 打开时,它不会播放任何音符。第一次点击时,VoiceOver 会报出 accessibilityLabel 设置的内容,然后每次点击都会发出哔哔声。
我有自定义 UIGestureRecogniser
子类,用于集合视图单元格点击检测。在这种情况下我需要做一些特别的事情吗?
有什么想法吗?我还需要做其他事情吗?
想通了。但是不确定原因是什么。
将音乐键盘 UICollectionView 嵌入到另一个视图中,并使该视图可通过 UIAccessibilityTraitAllowsDirectInteraction
特性访问。现在它按预期工作了。