Ho un problema che io non sono riuscito a capire. Ho fatto un'app che farà una foto dal davanti e una dalla fotocamera posteriore, quindi unirli insieme.carico retina (alta qualità) immagini Programatically (sui pulsanti)
Il nome dell'app è GroupCam
Tuttavia ho un problema in cui i miei UIButtons non saranno caricati come immagini della retina fin dall'inizio. Se li ho impostati come @ 2x sul builder dell'interfaccia, appaiono in alta qualità ma, una volta ricaricati, vengono visualizzate le versioni basse.
Ciò è dovuto al fatto che, dopo una foto è preso e lo schermo cambia il pulsante immagini cambiano, ma quando l'utente preme il tasto indietro le icone della fotocamera avrà un aspetto orribile (perché le versioni di bassa qualità vengono caricati) .
Si prega di verificare le seguenti immagini:
Prima schermata: solo il pulsante in alto a destra appare distorta perché sto controllando il valore del flash della fotocamera e "loading" l'immagine corrispondente programatically.
Seconda schermata: L'utente ha spostato in un altro schermo ed è tornato al primo, tutti i pulsanti sono stati ricaricati e che ora tutti guardano distorto.
Se qualcuno ha qualche idea del perché sta succedendo Vorrei davvero apprezzare!
Grazie.
Edit:
Questo è quanto ho caricare le immagini.
[self.flashButton setImage:[UIImage imageNamed:@"flashOff"]
forState:UIControlStateNormal];
Ho letto da qualche parte su Internet che facendo ciò caricherà automaticamente la versione più adatta dell'immagine.
Ho provato anche questo, ma il risultato è lo stesso:
[self.takeButton setImage:[UIImage imageNamed:@"takePhoto.png"] forState:UIControlStateNormal];
Ho avuto ottimi risultati con immagini normali e retina in un'app. Quindi, quello che ti suggerisco di fare è selezionare la risoluzione normale di queste immagini, e non includerle nel tuo progetto (tramite il terzo riquadro più a destra - deseleziona la casella di controllo). Ora la tua app ha solo immagini retina. Bene, se le cose vanno male, allora qualcosa nella tua app ha rovinato. C'è qualche problema con [UIImage imageNamed: foo.png]. Se modifichi quell'immagine, tutti gli utenti successivi di quell'immagine ottengono l'immagine modificata. Rileggere UIImage imageNamed: –
Quindi ho appena riletto la tua domanda, e ho appena visto questa frase: "Se li ho impostati come" @ 2x "sul builder dell'interfaccia". Quindi, in IB, hai inserito il loro nome come "[email protected]", e questo funziona. Quindi l'unica cosa che posso pensare che il tuo problema potrebbe essere è il formato di "@ 2x". SEI SICURO di aver correttamente chiamato quelle immagini - "[email protected]", NOT & 2x.png ecc. Sembra proprio che iOS non veda i file hi rez e questo è l'UNICO motivo per cui posso pensare che lo spiegherebbe . Quindi prova a rimuovere "@ 2x" in IB, e guarda cosa succede. Scommetto che ti rimetterai in sordina per tutto il tempo. –
sì, sono formattati e denominati correttamente. Le immagini verranno caricate in HD perfettamente fini da sole, l'unico problema è quando li carico in modo programmatico. iOS decide di caricare quello a bassa definizione. – Pochi