[iOS] Background appearing outside of border when using border radius
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C++
- Sterne
- 127k
- Forks
- 25.3k
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
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:
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem obligatorischen Reproducer unter github.com/denniske/expo-border-glass-repro und dem View-Style mit borderWidth, borderColor, borderRadius und backgroundColor. Vergleiche das Rendering auf iOS und im Web mit React Native 0.81.4; abgeschlossen ist die Aufgabe, wenn der iOS-Rand die unerwünschte glasähnliche Kontur außerhalb des abgerundeten Randes nicht mehr anzeigt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- ios, react-native
- Bereich
- mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100