tri*_*le7 5 uigesturerecognizer ios swift
我有一个标准UIViewController并注册了一个UISwipeGestureRecognizer,在我的viewDidLoad覆盖中将视图委托给它。
手势注册并正确调用适当的动作,但是当画外音打开时不会发生这种情况。
是UIGestureRecognizer仅适用于iOS版中的标准用法?有没有办法让声音注册这些手势,无论是双击、滑动、捏合/缩放等?
弄清楚这是如何工作的,我认为值得分享这个:
在查看 UIView 类以及 UIAccessibilityTraits 之后,所有 UIView 及其子类都有一个使用各种 UIAccessibilityTraits 的位掩码,可用于: - 指定 UIView 或任何采用 UIAccessibility 协议的类的标准行为。- 允许各种配置,例如刷新速度、启用滑块类型行为等。
这是所有可用特征的链接:https : //developer.apple.com/reference/uikit/uiaccessibility/accessibility_traits
对于我的具体情况,我使用了 UIAccessibilityTraitAllowsDirectInteraction 和 UIAccessibilityTraitUpdatesFrequently。然后所有 UIGestureRecognizers 都被正确注册,无论是滑动、点击、捏合等。
它们需要被指定为位掩码,因此如果您需要一个元素具有这些属性,请输入:
myView.UIAccessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction | UIAccessibilityTraitUpdatesFrequently
编译,运行应用程序,我得到了告诉我它是什么的视图,并且正确地滑动寄存器而没有出现问题时你听到的“砰”的声音。
希望这可以帮助那些也想知道如何让它工作的人,但是这也可能与自定义视图略有冲突,具体取决于您希望有视力或有视力障碍的用户如何体验 UI。然而,我发现这种方式比创建一整套 UIElements 更优雅,因为交互方法保持不变,并且不需要编写代码来提示或解释要做什么。
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |