React-Native iOS: как определить, что функция доступности Control Control включена? - PullRequest
0 голосов
/ 04 января 2019

У меня есть приложение React-Native.Я сделал альтернативный вид для одного экрана для случая, когда включена функция доступности VoiceOver.Я сделал это с помощью AccessibilityInfo.Но я не могу понять, как проверить, включена ли функция доступности Switch Control.Является ли это возможным?Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Я создал собственный модуль в соответствии с этим документом:

https://facebook.github.io/react-native/docs/native-modules-ios

#import "RNAccessibilityManager.h"
#import <UIKit/UIKit.h>

@interface RNAccessibilityManager ()
@end

@implementation RNAccessibilityManager

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(getCurrentSwitchControlState:(RCTResponseSenderBlock)callback)
{
    callback(@[@(UIAccessibilityIsSwitchControlRunning())]);
}

@end

Связал его вручную и использовал так:

import RNAccessibilityManager from 'react-native-accessibility-manager'

RNAccessibilityManager.getCurrentSwitchControlState((isEnabled) => {
  this.setState({
    switchControlEnabled: isEnabled,
  });
});
0 голосов
/ 04 января 2019

Проверьте это следующим образом:

AccessibilityInfo.fetch().then((isEnabled) => {
  this.setState({
    screenReaderEnabled: isEnabled,
  });
});

Прочитайте документы здесь: https://facebook.github.io/react-native/docs/accessibilityinfo

...