Support custom scale property for dynamically downloaded tab/toolbar icons
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- objective-c, react-native
- Área
- mobile
Línea de trabajo
Comienza en el punto de entrada de ImageParser y revisa el PR #8329, que el issue identifica como el que añade esta compatibilidad. Confirma el comportamiento de escala opcional para las fuentes de imagen URI y que las fuentes existentes conservan su comportamiento actual; se considera terminado cuando el tamaño solicitado del icono funciona sin regresiones.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
When using dynamically downloaded images (e.g. user avatars fetched from a CDN) as tab-bar or toolbar icons, there is no way to specify the image scale factor. ImageParser delegates to [RCTConvert UIImage:], which defaults to scale = 1.0 for URI-based images. This causes icons to render at their full pixel size on Retina displays instead of the intended logical size.
The standard @2x/@3x filename suffix convention does not apply here because images are downloaded to the cache directory at runtime with arbitrary filenames.
Steps to reproduce
- Download an image to the local filesystem (e.g. a 60×60 px avatar for a 20pt tab icon on a 3x device)
- Pass it as a bottom tab icon:
{ uri: 'file:///path/to/avatar.png' } - Observe the icon renders at 60×60 points instead of 20×20 points
Expected behavior
Callers should be able to pass an optional scale property in the image source dictionary:
icon: { uri: 'file:///path/to/avatar.png', scale: 3 }
ImageParser would then re-create the UIImage at the requested scale using [UIImage imageWithCGImage:scale:orientation:], so the icon renders at the correct logical size.
Proposed fix
PR #8329 adds this support in a backwards-compatible way — the scale key is only read when explicitly provided.
Environment
- react-native-navigation: 8.8.8
- React Native: 0.85.3
- Platform: iOS
- Lenguaje dominante
- MDX
- Estrellas
- 13.2k
- Forks
- 2.6k
- Merge medio
- 2 d 10 h
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de wix/react-native-navigation
-
needs triage triage: documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
wix/react-native-navigation#8343 · 1 comentario ·
-
[Fix] searchBar `focus:` true ignored on mergeOptions when searchController already existsPosiblemente ocupada @IsaacIsrael la tomó hace 158 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
wix/react-native-navigation#8318 ·
-
Build Failed with RN 0.87Abiertoneeds triage type: accepted/bug
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
wix/react-native-navigation#8365 · 2 comentarios ·
-
`showOverlay` creates a scene-less `UIWindow`, so overlays never appear under UIScene lifecyclePosiblemente ocupada @yedidyak la tomó hace 4 días. Abiertoplatform: iOS type: accepted/bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
wix/react-native-navigation#8345 · 2 comentarios · 2 reacciones ·
-
platform: iOS type: accepted/bug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
wix/react-native-navigation#8340 ·
Todos los issues de wix/react-native-navigation
Issues similares
-
Keyboard crashes Chrome tabsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Julow/Unexpected-Keyboard#1490 ·
Los mantenedores suelen responder en 4 días
-
unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
thunderbird/thunderbird-android#11893 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
linkwarden/linkwarden#1891 ·
Los mantenedores suelen responder en 1 día
-
Type: Possible bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
AntennaPod/AntennaPod#8887 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
work/tech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bcgov/bc-wallet-mobile#5035 ·
Los mantenedores suelen responder en 2 días