-
Notifications
You must be signed in to change notification settings - Fork 24.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Gestures] PanResponder blocking child Touchable on 6s and 6s plus #3082
[Gestures] PanResponder blocking child Touchable on 6s and 6s plus #3082
Comments
+1 – We're also experiencing this problem on new 3d touch phones. The nested touchable highlights don't react visually to touch, and aren't clickable, but tapping quickly a few times often ends up working. |
Could it be related to this iOS9 bug? https://developer.apple.com/library/prerelease/ios/releasenotes/General/RN-iOSSDK-9.1/#//apple_ref/doc/uid/TP40016570-CH1-DontLinkElementID_25 — "touch pressure changes cause |
Is this affecting anyone else? Or is PanResponder not really used often? I'm worried that our app has become pretty much unusable for anyone with a new iPhone. Would love to find some sort of solution to this. |
+1 we are seeing the same thing here! @a2 @nicklockwood ideas? |
We had a same problem, fortunately only on a few places so we could easily fix it by checking if On the bottom of the page @aprilzero linked is written:
I guess from now on we will just have to check for actual movement before granting. |
@meznaric 👏 thanks! That seems to fix the problem for us. |
Same issue here - but with Navigator. A button close to the edge of the screen stops working. I've tried setting 'gestures: null' the routes sceneConfig, but this actually stops taps from working at all (only force touch works). |
I tried the Navigator and |
My issue is actually different. A button which is normally easy to tap has its tappable area shifted off to its left edge. Kust got an iPhone 6s now and will post more info soon. |
I think our flashcards are broken(not tappable) on 6s because of this. This is just a higher level guess will debug today. |
I solved my problem: I had a TouchableOpacity with a nested wrapper view, and both the touchable and nested view had been set to position: absolute. I'm not sure yet why this would work on iPhone6 and not 6s - but will debug further and see if I can isolate a test case. For now, here's a gist with the broken and fixed component: https://gist.github.com/jsierles/6ea15850dab3c65dceeb More details: logging in Touchable.js touchableHandleResponderMove, the touchState for the broken component, when doing a single tap, always looks like this:
The fixed component only sets RESPONDER_ACTIVE_PRESS_IN. |
I haven't had time to fully debug, but here's an example TouchableOpacity element that works on the iPhone6 but not 6s. You have to use a real device, not the simulator, to reproduce. Tapping on the large square fails ~80% of the time. https://github.com/jsierles/RNiPhone6sTest I fixed this by removing the redundant 'position: absolute' on the child view. Maybe this can help get to the bottom of the issue. |
I just tried to debug this on 6s(had to buy a new one). This is definitely a problem with
Changing it to this fixes it:
Note: cc @tadeuzagallo above setup should help debug. It works on simulator, you need a 6s to reproduce it. |
My issue was resolved by @meznaric's comment |
i just find a not beautiful but convenient way to solve this problem(maxs15/react-native-modalbox#19) |
@meznaric's #3082 (comment) fixed the issue in my case. I have side drawer with
👍 👏 |
@neciu it also solved it for me |
Worked for me (we are building a music player that drags up), the solution above with |
Worked--thanks everyone! |
@meznaric,Good suggestion! |
In my suitation, i need to set on both function:
But it make touch effect (blur) on start pharse of move touch although it don't init onPress function |
@phanngoc thx~ |
This is still an issue and the proposed solution doesn't always work. Could it be re-opened? It doesn't seem like it should be expected behaviour... |
Agreed, I'm seeing it as well. |
Re-opening because this seems like a real issue. Does it also happen on an iPhone 7? A fix would be appreciated for this, if anybody can figure it out! |
@ericvicenti yes this happens on iPhone 7 as well! |
Just an FYI – you can test whether this issue is happening in the simulator by clicking and holding on the touchable, moving your mouse away, then moving it back over the touchable. If the touchable appears pressed again (i.e. |
Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally! If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:
If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution. |
Strange enough, @spacesuitdiver's fix wasn't working for me until I switched from |
@meznaric Your hack worked like a charm 🥇 |
@meznaric thank you 💚Not sure why this issue is closed. |
I'm trying to fix an issue in a library (dancormier/react-native-swipeout#38) that appears to be broken on the 6s and 6s plus. The pan responder doesn't appear to allow touchable children to be pressed.
The library works on older devices with the same version of iOS, which makes me think that this has something to do with the new 3d touch hardware.
As noted in the other issue also, the library works in the emulator, but not the actual devices.
The text was updated successfully, but these errors were encountered: