4

我确保我正在构建的应用程序是可访问的,并且大部分时间都在享受它。但是,我试图让accessibilityIncrement/accessibilityDecrement工作无济于事。

我有一个子类,UIView我正在重写accessibleTraits返回[super accessibleTraits] | UIAccessibilityTraitAdjustable;并且我已经实现了

在所有其他方面,当 VoiceOver 开启时视图响应良好,但UIAccessibilityAction我似乎能够使用 3 根手指向上/向下滑动的唯一方法是accessibleScroll.

有人遇到过这种情况么?我错过了什么?

4

1 回答 1

1

您的描述看起来是正确的:您需要做的就是设置UIAccessibilityTraitAdjustable然后实施accessibilityIncrementand accessibilityDecrement。通常的技巧是 Apple 的文档暗示您在视图控制器上执行此操作 - 您不应该在视图本身上实现它们。

这反过来意味着您需要一个委托协议或其他一些与您的视图控制器一起使用的回调机制来将更改传达给您的模型(以及您的视图的其他部分)。所以:”

@interface MyAdjustableView : UIView

@end


@implementation MyAdjustableView

- (UIAccessibilityTraits)accessibilityTraits; {
    return [super accessibilityTraits] |  UIAccessibilityTraitAdjustable;

}

- (void)accessibilityIncrement {
    NSLog(@"increment");
}

- (void)accessibilityDecrement {
    NSLog(@"decrement");

}

@end

应该管用。委托样板文件作为练习。

于 2013-03-19T16:15:11.077 回答