我有一个React-Native应用程序。 在启用VoiceOver无障碍功能的情况下,我为一个屏幕制作了另一种视图。我使用AccessibilityInfo做到了这一点。但是我不知道如何检查是否启用了“开关控制”辅助功能。可能吗?谢谢。
答案 0 :(得分:0)
以这种方式检查:
AccessibilityInfo.fetch().then((isEnabled) => {
this.setState({
screenReaderEnabled: isEnabled,
});
});
在此处阅读文档:https://facebook.github.io/react-native/docs/accessibilityinfo
答案 1 :(得分:0)
我根据此文档创建了本机模块:
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,
});
});