-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
ClipPath rendering white background on iOS #1131
ClipPath rendering white background on iOS #1131
Comments
Try wrapping the ClipPath inside a Defs element: export default class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Svg width={32} height={32}>
<Defs>
<ClipPath id="prefix__a">
<Path
d="M27.11 12.782l-4.266-4.219L23.4 8H18V2h5.367l-.523-.529L24.331 0H0v32h32V7.837z"
fill="#FFF"
/>
</ClipPath>
</Defs>
<G transform="matrix(.9382 0 0 .93123 2 .926)" fill="#fff">
<G clipPath="url(#prefix__a)">
<Path d="M30 28H0V4h30zM2 26h26V8.445L17.949 17.88c-.936.823-1.866 1.206-2.925 1.206h-.019c-1.079 0-2.026-.39-2.979-1.227l-.024-.022L2 8.445zm11.358-9.633c.577.504 1.07.719 1.647.719h.019c.556 0 1.033-.209 1.593-.698L27.683 6H2.317z" />
</G>
<Path d="M27.094.08l4.882 4.937-4.882 4.936-1.422-1.406L28.191 6H20V4h8.158l-2.486-2.513z" />
</G>
</Svg>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
backgroundColor: 'black',
justifyContent: 'center',
alignItems: 'center',
flex: 1,
},
}); |
That worked, thank you! In 9.11.1 this workaround is still needed. |
I have a fix in the develop branch, could you test it out? |
Will give it a try tomorrow, thanks! |
@msand seems to be fine! Thanks for the quick fix! |
# [9.12.0](v9.11.1...v9.12.0) (2019-10-19) ### Bug Fixes * handle setting transform attribute on clipPath, fixes [#1152](#1152) ([73b21d1](73b21d1)) * improve handling of transform attribute on clipPath, fixes [#1152](#1152) ([3aa126e](3aa126e)) * **ios:** backwards compatible RCTImageLoader.h handling fixes [#1141](#1141) ([3c22c97](3c22c97)) * **ios:** clipPath rendering, fixes [#1131](#1131) ([2534537](2534537)) * **ios:** deprecation of RCTImageLoader fixes [#1141](#1141) ([5452144](5452144)) * **ios:** fix changes in color/currentColor/tintColor, fixes [#1151](#1151) ([0c7e94d](0c7e94d)) * **ios:** image viewBox opposite handling of y alignment, fixes [#1138](#1138) ([c69e9e2](c69e9e2)) * **js:** allow setting stopColor/Opacity/Offset using styles, fix [#1153](#1153) ([5984e06](5984e06)) * getPointAtLength signature ([2c57af2](2c57af2)) * getScreenCTM calculation ([5c5072d](5c5072d)) * improve native method spec conformance ([c63f9e2](c63f9e2)) * improve types for getBBox ([cecde7d](cecde7d)) * prepare script ([9a3dc4e](9a3dc4e)) * **ios:** memory leak in tspan, fixes [#1073](#1073) ([974f3a8](974f3a8)) * fix native methods spec conformance ([ecedb21](ecedb21)) * Make native methods synchronous ([8ce7611](8ce7611)) * refine types for matrix helpers ([409af91](409af91)) * refine types for matrix helpers ([7a3f867](7a3f867)) * **android:** defineMarker/getDefinedMarker storage ([e6eda84](e6eda84)) * **android:** native method scaling and getScreenCTM offset ([f3e0b19](f3e0b19)) * native method signatures web compatibility / spec conformance ([8687a3d](8687a3d)) * **ios:** optimize extractPathData, clear PathMeasure when no textPath ([df69c26](df69c26)) ### Features * **flow:** add flowgen to generate flow types from typescript, [#1125](#1125) ([fcd66fb](fcd66fb)) * implement getBBox, getCTM, getScreenCTM ([f13d54a](f13d54a)) * implement isPointInStroke ([2ba64df](2ba64df)) * initial implementation of isPointInFill ([203e53b](203e53b)) * support using native methods using promises instead of callbacks ([c28499b](c28499b)) * **android:** implement getTotalLength and getPointAtLength ([cd667d0](cd667d0)) * **ios:** implement getTotalLength and getPointAtLength ([78c4f20](78c4f20))
🎉 This issue has been resolved in version 9.12.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Still facing this issue on latest version 9.13.3 when using "react-native-svg-transformer": "^0.13.0", |
@harshitaahuja Can you provide a reproduction? And perhaps open a new issue, as this one is closed / resolved already. |
@msand Below is the svg file I am using
Usage Its working fine on android but showing white background on iOS. |
Can you try upgrading react-native-svg-transformer to the just released v0.14.0 ? |
@msand yes it fixed the background issue but introduced a new issue where fill atribute is no longer working. I will take that issue there. thanks |
# [9.12.0](software-mansion/react-native-svg@v9.11.1...v9.12.0) (2019-10-19) ### Bug Fixes * handle setting transform attribute on clipPath, fixes [#1152](software-mansion/react-native-svg#1152) ([73b21d1](software-mansion/react-native-svg@73b21d1)) * improve handling of transform attribute on clipPath, fixes [#1152](software-mansion/react-native-svg#1152) ([3aa126e](software-mansion/react-native-svg@3aa126e)) * **ios:** backwards compatible RCTImageLoader.h handling fixes [#1141](software-mansion/react-native-svg#1141) ([3c22c97](software-mansion/react-native-svg@3c22c97)) * **ios:** clipPath rendering, fixes [#1131](software-mansion/react-native-svg#1131) ([2534537](software-mansion/react-native-svg@2534537)) * **ios:** deprecation of RCTImageLoader fixes [#1141](software-mansion/react-native-svg#1141) ([5452144](software-mansion/react-native-svg@5452144)) * **ios:** fix changes in color/currentColor/tintColor, fixes [#1151](software-mansion/react-native-svg#1151) ([0c7e94d](software-mansion/react-native-svg@0c7e94d)) * **ios:** image viewBox opposite handling of y alignment, fixes [#1138](software-mansion/react-native-svg#1138) ([c69e9e2](software-mansion/react-native-svg@c69e9e2)) * **js:** allow setting stopColor/Opacity/Offset using styles, fix [#1153](software-mansion/react-native-svg#1153) ([5984e06](software-mansion/react-native-svg@5984e06)) * getPointAtLength signature ([2c57af2](software-mansion/react-native-svg@2c57af2)) * getScreenCTM calculation ([5c5072d](software-mansion/react-native-svg@5c5072d)) * improve native method spec conformance ([c63f9e2](software-mansion/react-native-svg@c63f9e2)) * improve types for getBBox ([cecde7d](software-mansion/react-native-svg@cecde7d)) * prepare script ([9a3dc4e](software-mansion/react-native-svg@9a3dc4e)) * **ios:** memory leak in tspan, fixes [#1073](software-mansion/react-native-svg#1073) ([974f3a8](software-mansion/react-native-svg@974f3a8)) * fix native methods spec conformance ([ecedb21](software-mansion/react-native-svg@ecedb21)) * Make native methods synchronous ([8ce7611](software-mansion/react-native-svg@8ce7611)) * refine types for matrix helpers ([409af91](software-mansion/react-native-svg@409af91)) * refine types for matrix helpers ([7a3f867](software-mansion/react-native-svg@7a3f867)) * **android:** defineMarker/getDefinedMarker storage ([e6eda84](software-mansion/react-native-svg@e6eda84)) * **android:** native method scaling and getScreenCTM offset ([f3e0b19](software-mansion/react-native-svg@f3e0b19)) * native method signatures web compatibility / spec conformance ([8687a3d](software-mansion/react-native-svg@8687a3d)) * **ios:** optimize extractPathData, clear PathMeasure when no textPath ([df69c26](software-mansion/react-native-svg@df69c26)) ### Features * **flow:** add flowgen to generate flow types from typescript, [#1125](software-mansion/react-native-svg#1125) ([fcd66fb](software-mansion/react-native-svg@fcd66fb)) * implement getBBox, getCTM, getScreenCTM ([f13d54a](software-mansion/react-native-svg@f13d54a)) * implement isPointInStroke ([2ba64df](software-mansion/react-native-svg@2ba64df)) * initial implementation of isPointInFill ([203e53b](software-mansion/react-native-svg@203e53b)) * support using native methods using promises instead of callbacks ([c28499b](software-mansion/react-native-svg@c28499b)) * **android:** implement getTotalLength and getPointAtLength ([cd667d0](software-mansion/react-native-svg@cd667d0)) * **ios:** implement getTotalLength and getPointAtLength ([78c4f20](software-mansion/react-native-svg@78c4f20))
Bug
Svg is displayed with a white background and because of that not visible on iOS. Android is totally fine somehow. This is happening after upgrading from 9.9.0 to 9.10.0. Every version before 9.9.0 worked. We haven't tested the versions between 9.9.0 and 9.10.0.
This is how it should be:

And this is how it is after upgrading:

Environment info
React native info output:
Library version: 9.10.0
Steps To Reproduce
Describe what you expected to happen:
I wanted this

but got this

Reproducible sample code
The text was updated successfully, but these errors were encountered: