callstack / callstack/react-native-paper
Add default pointer event for Surface iOS
- 主要语言
- TypeScript
- 星标
- 14.5k
- 派生
- 2.2k
- 平均合并
- 5 天 23 小时
- 30 天内合并 PR
- 12
描述
**Is your feature request related to a problem? Please describe.**
I was making a collapsible header scrollable (For example: ScrollView, FlatList). The header is rendered with absolute style and the content of the scrollable will have a padding value based on header height. With this method of rendering I need to set `pointerEvents` prop of children of the header either to `box-none` or `none` for non-touchable component so that the header is able to receive scroll gesture. Everything was working fine until I used `Surface` component, things behaved a little different between Android and iOS:
- Android: working as expected when setting `pointerEvents` prop to `box-none` or `none`
- iOS: not working when setting `pointerEvents` prop to `box-none` or `none`
**Describe the solution you'd like**
I dig into `Surface` component source code and I found out the `SurfaceIOS` component actually renders 2 layers of View instead of 1 on other platforms. And the `pointerEvents` prop is only forwarded to the inner layer View. After I set `pointerEvents` prop of the outer layer View to `box-none` and it was working on iOS.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
贡献指南
评估
这个 Issue 还没有评估数据。