2009-12-24 6 views
4

Je sais qu'il est possible de créer un Default.png dynamiquement modifiable en créant un lien symbolique. Mais ce n'est plus possible dans iPhone SDK 3.0 (seulement en 2.0). Comment puis-je faire cela en 3.0, ou est-ce impossible? TimDynamique (Default.png) splashscreen dans 3.0 [iPhone SDK]

Cela a fonctionné sur iPhone OS 2.0 http://collison.ie/blog/2008/11/dynamic-defaultpng-files-on-the-iphone mais pas sur iPhone OS 3.0 plus. L'écran par défaut est toujours noir.

Je peux changer l'écran par défaut dans les documents-dossier et le lien symbolique ne lien vers ce fichier. J'ai testé cela en naviguant vers le dossier de l'application à partir du simulateur. J'ai vu le bon fichier dans le dossier de documents et j'ai vu que le lien symbolique pointe vers ce fichier (le bon).

Répondre

7

Ce n'est pas possible dans 3.0. C'était seulement possible sur 2.0 car c'était un bug exploitable. Le bug a été corrigé en 3.0 ce qui explique pourquoi ce n'est pas possible.

Apple n'a pas l'intention que Default.png soit un "écran d'accueil".

Si vous lisez le HIG, vous verrez que le Default.png est supposé représenter l'interface utilisateur, car il serait « vide » - sans aucun contenu. Il est destiné à donner à l'utilisateur l'illusion d'un lancement "quasi instantané".

Découvrez toutes les applications Apple sur l'iPhone et vous verrez comment le default.png est destiné à être utilisé correctement. Apple fronce les sourcils en utilisant Default.png comme écran de démarrage. Ils disent que ce n'est vraiment approprié que pour les applications telles que les jeux qui n'utilisent pas les éléments d'interface utilisateur standard fournis dans le SDK.

Cela étant dit - beaucoup d'applications ces jours-ci utilisent cette fonction pour afficher les écrans de démarrage, et semble d'Apple ne sont pas vraiment l'application de cette directive.

Longue histoire courte, vous pouvez faire un écran d'accueil, mais il ne peut pas être dynamique - plus.

+0

Merci, je l'espère, il sera possible dans le nouveau SDK :) (comme un délégué de l'application ou de quelque chose: - (UIImage *) {defaultImage /* nul de retour pour default.png standard */ retour [UIImage imageNamed: @ « someotherdefault.png »]; } Par exemple – elslooo

+1

Je doute que cela sera possible dans les prochaines versions du SDK le système aura besoin d'accéder à l'image avant tout de votre code des applications exécute, car il est nécessaire dans l'animation de lancement. . – Jasarien

3

Utilisez un Default.png vide, puis dans la méthode -applicationDidFinishLaunching: de votre délégué d'application, chargez un UIView qui contient votre contenu dynamique. Cette solution contourne tout conflit avec les termes du SDK d'Apple ainsi que tous les problèmes techniques.