[iOS] Background appearing outside of border when using border radius
Personne n'a encore pris cette issue.
- Langage dominant
- C++
- Étoiles
- 127k
- Forks
- 25.3k
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 4
Description
Note: I already created an issue for expo https://github.com/expo/expo/issues/39711. On request of intergalacticspacehighway I am creating an issue here so it can be fixed in react native.
Description
Add view with border and border radius where the border color is the background color. Then the border will have a outline / glass like effect on iOS but not on web. I am not sure if this is a bug in expo or rather in react native.
I stumbled on this because I use a border like this to put a text badge on an icon and use the border on the text to make it have a nice offest on the icon like here:
Steps to reproduce
Add view with border and border radius where the border color is the background color:
<View
style={{
width: 50,
height: 50,
backgroundColor: 'red',
borderStyle: 'solid',
borderWidth: 10,
borderColor: 'white',
borderRadius: 25,
}}
></View>
Then the border will have a outline / glass like effect on iOS but not on web. I am not sure if this is a bug in expo or rather in react native.
React Native Version
0.81.4
Affected Platforms
Runtime - iOS
Output of npx @react-native-community/cli info
System:
OS: macOS 26.0
CPU: (10) arm64 Apple M1 Max
Memory: 8.64 GB / 64.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.12.0
path: ~/.nvm/versions/node/v22.12.0/bin/node
Yarn:
version: 4.8.1
path: ~/.nvm/versions/node/v22.12.0/bin/yarn
npm:
version: 10.9.0
path: ~/.nvm/versions/node/v22.12.0/bin/npm
Watchman:
version: 2024.11.25.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.15.2
path: /Users/dennis/.asdf/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.0
- iOS 26.0
- macOS 26.0
- tvOS 26.0
- visionOS 26.0
- watchOS 26.0
Android SDK:
API Levels:
- "28"
- "30"
- "31"
- "32"
- "33"
- "34"
- "35"
- "36"
Build Tools:
- 28.0.3
- 29.0.2
- 30.0.2
- 30.0.3
- 32.0.0
- 33.0.0
- 33.0.1
- 34.0.0
- 35.0.0
- 36.0.0
System Images:
- android-30 | Google Play ARM 64 v8a
- android-32 | Google APIs ARM 64 v8a
- android-32 | Google Play ARM 64 v8a
- android-33 | Google APIs ARM 64 v8a
- android-33 | Google Play ARM 64 v8a
- android-34 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2024.2 AI-242.23339.11.2421.12483815
Xcode:
version: 26.0/17A324
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.14
path: /usr/bin/javac
Ruby:
version: 3.1.4
path: /Users/dennis/.asdf/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 19.1.0
wanted: 19.1.0
react-native:
installed: 0.81.4
wanted: 0.81.4
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Stacktrace or Logs
No crash
MANDATORY Reproducer
https://github.com/denniske/expo-border-glass-repro
Screenshots and Videos
Web:
iOS:
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le reproducer obligatoire à l’adresse github.com/denniske/expo-border-glass-repro et par le style de View utilisant borderWidth, borderColor, borderRadius et backgroundColor. Comparez le rendu sur iOS et sur le web avec React Native 0.81.4 ; le travail est terminé lorsque la bordure iOS n’affiche plus le contour indésirable semblable à du verre à l’extérieur de la bordure arrondie.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- ios, react-native
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100