我确定我正在构建的应用程序是可访问的,并且大部分都可以享受它。但是,我试图让accessibilityIncrement
/ accessibilityDecrement
无效。
我有一个UIView
的子类,我要覆盖accessibleTraits
才能返回[super accessibleTraits] | UIAccessibilityTraitAdjustable;
并且我已经实施了
在所有其他方面,当VoiceOver开启时,视图响应良好,但UIAccessibilityAction
上的唯一方法我似乎可以使用3手指向上/向下滑动accessibleScroll
。< / p>
还有其他人遇到过这个吗?我错过了什么?
答案 0 :(得分:1)
您的描述看起来是正确的:您需要做的就是设置UIAccessibilityTraitAdjustable
,然后实施accessibilityIncrement
和accessibilityDecrement
。通常的技巧是Apple的文档暗示你在视图控制器上执行此操作 - 不是你应该在视图本身上实现它们。
这反过来意味着您需要一个委托协议或一些其他回调机制与您的视图控制器将更改传达给您的模型(以及您的视图的其他部分)。 这样:“
@interface MyAdjustableView : UIView
@end
@implementation MyAdjustableView
- (UIAccessibilityTraits)accessibilityTraits; {
return [super accessibilityTraits] | UIAccessibilityTraitAdjustable;
}
- (void)accessibilityIncrement {
NSLog(@"increment");
}
- (void)accessibilityDecrement {
NSLog(@"decrement");
}
@end
应该有效。委托样板作为练习。