[iOS] Strange gradient appears when using `borderTopLeftRadius` (or similar) inside a scaled `View`
未关闭
还没有人认领这个 Issue。
API: Transforms
Issue: Author Provided Repro
Platform: iOS
- 主要语言
- C++
- 星标
- 127k
- 派生
- 25.3k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 4
描述
Description
See snack reproduction: https://snack.expo.dev/@whiteroseeducation/ios-bordertopleftradius-gradient-issue
The issue only appears on iOS devices.
When two conditions are met, you see weird gradients near the corners. These conditions are:
- The
Viewhas style which sets the border corners to different radius values, e.g. withborderTopLeftRadius. - The
Viewis nested in aViewwhich has a shrinking scale transform.
E.g.
<View
style={{
width: 400,
height: 400,
transform: [{ scale: 0.5 }],
}}>
<View
style={{
width: '100%',
height: '100%',
backgroundColor: 'white',
borderColor: 'navy',
borderWidth: 8,
borderTopLeftRadius: 40,
}}
/>
</View>
Steps to reproduce
- Click snack link above
- Run on an iOS device or simulator
- Observe that the first shape (labelled "The issue") has weird gradients in it, which aren't specified by its style
React Native Version
0.76.7
Affected Platforms
Runtime - iOS
Reproducer
https://snack.expo.dev/@whiteroseeducation/ios-bordertopleftradius-gradient-issue
Screenshots and Videos
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从链接的 Snack 复现开始,并使用 React Native 0.76.7 在 iOS 设备或模拟器上运行它。比较缩放后的外层 View 和带有 borderTopLeftRadius 的内层 View;当受影响的形状不再显示其 style 中不存在的渐变时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- ios, react-native
- 领域
- mobile
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100