4

私は自分が構築しているアプリがアクセス可能であり、大部分がそれを楽しんでいることを確認しています. しかし、私は無駄に働こうとしてaccessibilityIncrementいます。accessibilityDecrement

のサブクラスがUIViewあり、オーバーライドaccessibleTraitsして戻り[super accessibleTraits] | UIAccessibilityTraitAdjustable;、実装しました

他のすべての点で、VoiceOver がオンの場合、ビューは適切に応答しますがUIAccessibilityAction、3 本の指で上下にスワイプして作業できるように見える唯一の方法はaccessibleScroll.

他の誰かがこれに遭遇しましたか?私は何が欠けていますか?

4

1 に答える 1

1

あなたの説明は正しいように見えます: あなたがする必要があるのは、設定しUIAccessibilityTraitAdjustableてから実装することだけです. 通常のトリックは、Apple のドキュメントでは、ビュー コントローラーでこれを行うことを暗示しているということです。これは、ビュー自体に実装する必要がある場合ではありません。accessibilityIncrementaccessibilityDecrement

これは、モデル (およびビューの他の部分) に変更を伝えるために、デリゲート プロトコルまたはビュー コントローラーを使用したその他のコールバック メカニズムが必要であることを意味します。それで:"

@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 に答える