Support custom scale property for dynamically downloaded tab/toolbar icons

Aperta
#8,330 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
30/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
objective-c, react-native
Ambito
mobile

Direzione di ricerca

Inizia dal punto di ingresso di ImageParser ed esamina la PR #8329, che l’issue identifica come quella che aggiunge questo supporto. Verifica il comportamento di ridimensionamento opzionale per le sorgenti di immagini URI e che le sorgenti esistenti mantengano il comportamento attuale; il lavoro è completato quando il dimensionamento richiesto dell’icona funziona senza regressioni.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

  1. Download an image to the local filesystem (e.g. a 60×60 px avatar for a 20pt tab icon on a 3x device)
  2. Pass it as a bottom tab icon: { uri: 'file:///path/to/avatar.png' }
  3. 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
Lingua principale
MDX
Stelle
13.2k
Fork
2.6k
Merge medio
2g 10h
PR unite (30g)
6

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di wix/react-native-navigation

Tutte le issue di wix/react-native-navigation

Issue simili

Altre issue su Mobile Dev

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.