Controls disappearing with -webkit-overflow-scrolling: touch; in Safari iOS when scrolling
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 12.4k
- Forks
- 2.4k
- PR merge metrics
- No merged PRs in 30d
Description
On Safari for ios 13.5.1 when the prop `-webkit-overflow-scrolling: touch` is used, the controls at the bottom of "Mapbox" & "Improve this map" and also any other element on top of the map, disappear while scrolling until a certain point and reappear when in other scrolling positions.
The map is rendered but the controls don't show up until you scroll. If you scroll back to the original position, they disappear again.
This is happening in an Ionic Angular project v ^5.0.0 (latest version). They are using the prop `-webkit-overflow-scrolling: touch` on the main element for rendering the app (``). After inspecting what could be causing the issue, I found the prop mentioned was the issue. Removing that prop, everything works as expected. Here you can see the [property applied](https://github.com/sergiomilici/mapbox-scroll-test/blob/master/bug_info/property.png).
This is not happening in Chrome or Safari for Desktop.
**See the issue on the [video](https://github.com/sergiomilici/mapbox-scroll-test/blob/master/bug_info/20200622_181720.mp4)**
Here is a video to see the problem.
I added a button ("Locate me") that in the real app it will show the GPS icon to locate the user. You can see it disappearing too.
**mapbox-gl-js version:**: 1.11.0
**browser**: Safari for ios 13.5.1
### Steps to Trigger Behavior
1. Clone the project `git@github.com:sergiomilici/mapbox-scroll-test.git`
2. Run `npm install`
3. Update your Mapbox access_token in `src/app/home/home.page.ts` line 17
4. Run `ionic serve --external`
5. Access the app in ios safari (http://your_ip:8100 or other port if this one was used)
6. Try to scroll to see the issue
### Expected Behavior
Controls are shown all the time
### Actual Behavior
Controls are hidden while scrolling
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue from the linked mapbox-scroll-test project: run npm install, update the token in src/app/home/home.page.ts line 17, then use ionic serve --external and test in iOS Safari 13.5.1. Compare scrolling with -webkit-overflow-scrolling: touch enabled and disabled. Done means Mapbox, Improve this map, and other map-overlay controls remain visible while scrolling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100