React-native: NavigatorIOS - left side of screen untouchable on first onPress

Created on 27 Apr 2016  路  16Comments  路  Source: facebook/react-native

I have this very strange bug on my react-native iOS app, when I'm using NavigatorIOS (need it) : there is a 30 points zone on the left of the screen that is not touchable on the first touch (nothing happens on touchableHighlight or TouchableWithoutFeedback) in Listview elements for example...

When I use Navigator, no problem at all, it's specific to NavigatorIOS (and I need it in this part of the app), also tried without any style, same problem.

Haven't seen any github issue or discussion about this bug.

Component code sample here :

http://stackoverflow.com/questions/36883075/left-side-of-screen-untouchable-when-using-navigatorios-react-native

iOS Locked

Most helpful comment

I'm using Navigator, problem still exists in RN 0.35.0

All 16 comments

Can you include your full code snippets?

There is no mention of NavigatorIOS on your stackoverflow issue, and full examples are required to re-produce.

@Pausania Even a runnable example on rnplay.org would really help out.

Sure. Here is a quick example : https://rnplay.org/apps/E0R2vg

Note : The issue only occurs on device, on the simulator it's fine...

Anyone else concerned about this, or seen the issue on device ?

@dsibiski @DannyiCracked Do you confirm the issue on the runnable example ? (on device, not on simulator)
Thanks.

@Pausania I just ran the RNPlay example on my iPhone 6 Plus and I did indeed experience the issue just as you described...interesting. Have you been able to do any other debugging to find out what might be happening?

@dsibiski I tried many things in JS to simplify as much as possible to finally write this runnable example, but I have no idea and I'm unfortunately not skilled in objective-C to dig deeper into this, sorry..

I am also facing the same issue, not just the left, the bottom left half itself.. Need to click twice to make onPress() work in the highlighted part: https://drive.google.com/file/d/0B3WzeJAhNSxLaEwtZGRLUEJZU2M/view?usp=drivesdk but works fine in emulator.

@dsibiski I investigated a bit more, it looks it's related to the swipe-back gesture recognition, when navigationBarHidden is set to true, the swipe-back gesture is off and this issue disappears.
If there is a way to disable swipe-back gesture and keep navigationBar visible that would be fine to me.

quick confirm of my last comment, disabling _navigationController.interactivePopGestureRecognizer in RCTNavigator.m line 402 fixes the issue (but we lose the gesture of course).

- (void)freeLock { _navigationController.navigationLock = RCTNavigationLockNone; _navigationController.interactivePopGestureRecognizer.enabled = NO; }

@Pausania In RN 0.27rc there is a commit allowing the ability to disable the swipe-back gesture while keeping the navigationBar visible: https://github.com/facebook/react-native/commit/4d2c72b977db0c837df0ac0b7de5b8b71eeafffb

Still not a full solution to this strange bug, but at least a work-around for your use case.

Encountering this issue on our project and unfortunately, we need the swipe-back gesture in our app. Has anyone figured this issue out _without_ having to disable swipe-back?

I'm using Navigator, problem still exists in RN 0.35.0

@arunmdavid , my issue is as same as your picture. Have you resolved the question?

Similar question maybe solved by this way: check your rootview with 'jsCodeLocation' in xcode, set self.view = rootView rather than [self.view addSubview:rootView].

God bless me, I could have a good sleep now.

Closing this issue because it has been inactive for a while. If you think it should still be opened let us know why.

Was this page helpful?
0 / 5 - 0 ratings