Mi piacerebbe fare la mia app per iPhone per essere in grado di passare da una skin all'altra (o tema di design, o look and feel, come legno, metallo, colore della terra, uomo, ragazza, ecc ...).Come cambiare skin (o temi di progettazione) nell'app per iOS?
Preparerò alcuni set di skin contenenti immagini per pulsanti e sfondi, suoni e colore del testo e consentirò all'utente di decidere quale set di skin si desidera utilizzare dalle impostazioni dell'applicazione.
Qual è la migliore pratica per implementare questo?
Le condizioni sono:
- mi piacerebbe usare Interface Builder
- ho bisogno di sostenere iOS 3.1.3 e successivamente
- Voglio fare i set di pelli scaricabili da internet (Non riesco a raggruppare tutte le skin nell'app, poiché un set di skin richiede molte immagini e le dimensioni del file dell'app potrebbero diventare enormi se lo faccio ... Inoltre, non voglio hardcode alcuna informazione su skin specifiche .)
- Se uno skin personalizzato non contiene uno o alcuni elementi, (come un'immagine o r file audio), voglio che usi l'elemento mancante dal set di skin predefinito.
- Non voglio creare file pennino per ogni skin. Il file pennino per una schermata dovrebbe essere l'unico nel bundle principale per facilitare la manutenzione.
sto pensando di fare una superclasse di tutti i UIViewControllers nella mia app e ignorare la parte che viene caricato il file Pennino, e invece di caricare dal fascio principale, caricare le risorse dalla pelle che viene salvato in la directory del documento ... ma non so come farlo ... Il comportamento predefinito dei metodi di caricamento del pennino carica sempre le risorse dal pacchetto principale e le informazioni sui nomi dei file delle risorse vengono perse dopo aver letto ...: (
Grazie in anticipo per il vostro aiuto.
C'è una spiegazione molto approfondita su come applicare un'app per iOS qui: http://stackoverflow.com/questions/8919334/how-to-create-multiple-themes-skins-for-iphone-apps?rq= 1 Spiega anche come scuoiare un pennino, esp. da iOS 5. –
Puoi dare un'occhiata alla libreria sottostante https://github.com/charithnidarsha/MultiThemeManager –