1

UIAccessibilityの非公式プロトコルを使用して、MonoTouchの一部のビューにアクセシビリティ特性を設定したいと思います。しかし、拘束力はありません。これどうやってするの?

4

1 に答える 1

1

MonoTouch UIResponder.SetValueForKey(key、value)呼び出しを使用できます。コントロールのアクセシビリティ特性を取得および設定するためのいくつかの拡張メソッドを次に示します。

public static void SetAccessibilityTraits(this UIResponder responder, UIAccessibilityTraits traits)
{
    responder.SetValueForKey(NSNumber.FromUInt64((ulong)traits), new NSString("accessibilityTraits"));
}

public static UIAccessibilityTraits GetAccessibilityTraits(this UIResponder responder)
{
    var value = (NSNumber)responder.ValueForKey(new NSString("accessibilityTraits"));
    return (UIAccessibilityTraits)value.UInt64Value;
}

[Flags]
public enum UIAccessibilityTraits
{
    None = 0,
    Button = 1,
    Link = 2,
    SearchField = 1024,
    Image = 4,
    Selected = 8,
    PlaysSound = 16,
    KeyboardKey = 32,
    StaticText = 64,
    SummaryElement = 128,
    NotEnabled = 256,
    UpdatesFrequently = 512,
    StartsMediaSession = 2048,
    Adjustable = 4096,
    AllowsDirectInteraction = 8192,
    CausesPageTurn = 16384,
    Header = 65536    
}

Nic Wiseは、他のアクセシビリティ関連の拡張メソッドをここに投稿しています。コントロールのアクセシビリティラベルとヒントを設定できます。

于 2012-10-27T00:20:42.977 に答える