react-native/React/Views
Vladimir Timofeev 3949e937cc Make SafeAreaView to work on iOS < 11 (#18534)
Summary:
Currently `SafeAreaView` works only on iOS 11, because implemented in terms of native safeArea API, that not exists in older iOS versions. But this make it hard to use the component in real applications, because content will be under top bars on older versions of iOS and no reliable way to workaround this in js. More motivation in #17638

This changeset emulate safe area in terms of `UIViewController` layout guides API if safeArea not available.

Fixes #17638, #18255

I run RNTester with these simulators: iPhone6 (9.3), iPhone6 (10.0), iPhone6 (11.2), iPhoneX (11.2)
- Start RNTester application
- Look on top header, it should not overlap status bar
- Go to the `<SafeAreaView>` example, open modal
- Modal area should not overlap status bar

<img src="http://vovkasm.skitch.vovkasm.org/iPhone6_10_20662C5B.png" width="40%"> <img src="http://vovkasm.skitch.vovkasm.org/iPhone6_11_20662CC8.png" width="40%">

<img src="http://vovkasm.skitch.vovkasm.org/iPhone6_10_pr_20662DE6.png" width="40%"> <img src="http://vovkasm.skitch.vovkasm.org/iPhone6_11_pr_20662DA8.png" width="40%">

[IOS] [BUGFIX] [SafeAreaView] - Make SafeAreaView to work on iOS < 11
Pull Request resolved: https://github.com/facebook/react-native/pull/18534

Reviewed By: PeteTheHeat, shergin

Differential Revision: D9166052

Pulled By: hramos

fbshipit-source-id: c086e1ae4af13110a7453b770ca75b6e0d5321ea
2018-08-23 12:02:35 -07:00
..
SafeAreaView Make SafeAreaView to work on iOS < 11 (#18534) 2018-08-23 12:02:35 -07:00
ScrollView Fixed OSS scroll view bug caused by FBPullToRefresh 2018-07-23 13:33:28 -07:00
RCTActivityIndicatorView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTActivityIndicatorView.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTActivityIndicatorViewManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTActivityIndicatorViewManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTAnimationType.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTAutoInsetsProtocol.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTBorderDrawing.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTBorderDrawing.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTBorderStyle.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTComponent.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTComponentData.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTComponentData.m Check return code from malloc (#20173) 2018-08-08 18:32:19 -07:00
RCTConvert+CoreLocation.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTConvert+CoreLocation.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTConvert+Transform.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTConvert+Transform.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTDatePicker.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTDatePicker.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTDatePickerManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTDatePickerManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTFont.h Fix for issue #19086 RCTHasFontHandlerSet(); This function definition… 2018-05-01 19:32:07 -07:00
RCTFont.mm iOS OSS: deployment target 8.0 => 9.0 2018-05-22 01:16:45 -07:00
RCTLayout.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTLayout.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTMaskedView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTMaskedView.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTMaskedViewManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTMaskedViewManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalHostView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalHostView.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalHostViewController.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalHostViewController.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalHostViewManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalHostViewManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTModalManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavItem.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavItem.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavItemManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavItemManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavigator.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavigator.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavigatorManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTNavigatorManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTPicker.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTPicker.m fix missing selection indicator lines (#18885) 2018-07-20 19:01:32 -07:00
RCTPickerManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTPickerManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTPointerEvents.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTProgressViewManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTProgressViewManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTRefreshControl.h Fixed OSS scroll view bug caused by FBPullToRefresh 2018-07-23 13:33:28 -07:00
RCTRefreshControl.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTRefreshControlManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTRefreshControlManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTRootShadowView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTRootShadowView.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSegmentedControl.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSegmentedControl.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSegmentedControlManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSegmentedControlManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTShadowView+Internal.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTShadowView+Internal.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTShadowView+Layout.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTShadowView+Layout.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTShadowView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTShadowView.m Fix or mark enum conversions 2018-05-22 09:53:54 -07:00
RCTSlider.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSlider.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSliderManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSliderManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSwitch.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSwitch.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSwitchManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTSwitchManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTVView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTVView.m onPress animation with magnification 2018-02-27 13:10:02 -08:00
RCTTabBar.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTabBar.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTabBarItem.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTabBarItem.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTabBarItemManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTabBarItemManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTabBarManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTabBarManager.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTTextDecorationLineType.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTView.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTViewManager.h Mark ObjC methods that are called from React Native as dynamic. 2018-02-26 12:24:17 -08:00
RCTViewManager.m Add accessibilityHint for iOS (#18093) 2018-07-25 17:47:42 -07:00
RCTWKWebView.h Fix old license that snuck into repo (#20702) 2018-08-16 19:03:38 -07:00
RCTWKWebView.m Fix old license that snuck into repo (#20702) 2018-08-16 19:03:38 -07:00
RCTWKWebViewManager.h Fix old license that snuck into repo (#20702) 2018-08-16 19:03:38 -07:00
RCTWKWebViewManager.m Fix old license that snuck into repo (#20702) 2018-08-16 19:03:38 -07:00
RCTWebView.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTWebView.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTWebViewManager.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTWebViewManager.m Implement 'dataDetectorTypes' prop 2018-08-16 16:52:44 -07:00
RCTWrapperViewController.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
RCTWrapperViewController.m Update license headers for MIT license 2018-02-16 18:31:53 -08:00
UIView+Private.h Update license headers for MIT license 2018-02-16 18:31:53 -08:00
UIView+React.h added check for iOS 11 on ignore inverted colors 2018-06-28 12:09:58 -07:00
UIView+React.m added check for iOS 11 on ignore inverted colors 2018-06-28 12:09:58 -07:00