Skip to content

Commit 5f8b44f

Browse files
Ziqi Chenfacebook-github-bot
authored andcommitted
added check for iOS 11 on ignore inverted colors
Summary: Added Check for iOS 11 before setting property for `accessibilityIgnoreInvertColor` Builds on top of https://our.intern.facebook.com/intern/diff/D8549084/ Reviewed By: shergin Differential Revision: D8599698 fbshipit-source-id: c5cc26b4c1c20fb9cca5bfe7143fa9dcb217a2d7
1 parent 75a0273 commit 5f8b44f

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

React/Views/RCTViewManager.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ - (RCTShadowView *)shadowView
112112
RCT_REMAP_VIEW_PROPERTY(accessibilityTraits, reactAccessibilityElement.accessibilityTraits, UIAccessibilityTraits)
113113
RCT_REMAP_VIEW_PROPERTY(accessibilityViewIsModal, reactAccessibilityElement.accessibilityViewIsModal, BOOL)
114114
RCT_REMAP_VIEW_PROPERTY(accessibilityElementsHidden, reactAccessibilityElement.accessibilityElementsHidden, BOOL)
115+
RCT_REMAP_VIEW_PROPERTY(accessibilityIgnoresInvertColors, reactAccessibilityElement.shouldAccessibilityIgnoresInvertColors, BOOL)
115116
RCT_REMAP_VIEW_PROPERTY(onAccessibilityAction, reactAccessibilityElement.onAccessibilityAction, RCTDirectEventBlock)
116117
RCT_REMAP_VIEW_PROPERTY(onAccessibilityTap, reactAccessibilityElement.onAccessibilityTap, RCTDirectEventBlock)
117118
RCT_REMAP_VIEW_PROPERTY(onMagicTap, reactAccessibilityElement.onMagicTap, RCTDirectEventBlock)

React/Views/UIView+React.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
*/
2828
@property (nonatomic, copy) NSString *nativeID;
2929

30+
/**
31+
* Determines whether or not a view should ignore inverted colors or not. Used to set
32+
* UIView property accessibilityIgnoresInvertColors in iOS 11+.
33+
*/
34+
@property (nonatomic, assign) BOOL shouldAccessibilityIgnoresInvertColors;
35+
3036
/**
3137
* Layout direction of the view.
3238
* Internally backed to `semanticContentAttribute` property.

React/Views/UIView+React.m

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,25 @@ - (void)setNativeID:(NSNumber *)nativeID
3535
objc_setAssociatedObject(self, @selector(nativeID), nativeID, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
3636
}
3737

38+
- (BOOL)shouldAccessibilityIgnoresInvertColors
39+
{
40+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
41+
if (@available(iOS 11.0, *)) {
42+
return self.accessibilityIgnoresInvertColors;
43+
}
44+
#endif
45+
return NO;
46+
}
47+
48+
- (void)setShouldAccessibilityIgnoresInvertColors:(BOOL)shouldAccessibilityIgnoresInvertColors
49+
{
50+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
51+
if (@available(iOS 11.0, *)) {
52+
self.accessibilityIgnoresInvertColors = shouldAccessibilityIgnoresInvertColors;
53+
}
54+
#endif
55+
}
56+
3857
- (BOOL)isReactRootView
3958
{
4059
return RCTIsReactRootView(self.reactTag);

0 commit comments

Comments
 (0)