Une idée de comment optimiser une app pour iPhone 6 / 6+ ? (pour utiliser l'écran entièrement sans passer par l'upscaling d'Apple qui ne fait que grossir l'app existante et du coup on n'affiche pas plus d'infos).
Comme pour l'iPhone 4", il faut fournir un écran "Default". Tu peux utiliser une image, mais il y a mieux: utiliser un xib. (File>New>Resource>Launch Screen). N'oublie pas de dire que tu as un Launch Screen dans l'onglet General de l'appli.
Ensuite, ça s'affichera bien sans agrandissement !
Puisqu'on parle d'optimisation iPhone 6 et surtout 6 Plus, quelle est la méthode la plus simple pour augmenter la taille des textes en fonction de l'écran ? Il me semble qu'Apple a introduit des méthodes, de mémoire.
95% de mes polices sont définies dans des constantes. L'idéal serait de pouvoir avoir une sorte de coeff multiplicateur automatique en fonction du device, mais là je rêve...
La méthode dont tu parles est sans doute + (UIFont *)preferredFontForTextStyle:(NSString *)style
Ceci dit, oui on pourrait imaginer un chauffe multiplicateur en fonction de la Size Class.
C'est pas dur à faire, en fait, sur le principe : il suffit de regarder la UITraitCollection actuellement appliquée à ton ViewController (tous les ViewController se conforment maintenant au protocole UITraitEnvironment dont peuvent te retourner cela) et de retourner une taille en conséquence.
J'imagine bien une catégorie sur UIFont qui ajouterai une méthode [UIFont fontWithName:size:traitCollection:] prenant en paramètre une UITraitCollection qui va adapter le paramètre "size" en conséquence avec un chauffe multiplicateur.
A l'usage, tu récupères la UITraitCollection à passer avec les méthodes de UIViewController<UITraitEnvironment> lors de la construction de ton ViewController, sans oublier de les mettre à jour si la UITraitCollection change en cours de route dans -[id<UITraitEnvironment> traitCollectionDidChange:]. Et tu as ton système adaptatif en seulement quelques lignes de code. Il ne te reste plus qu'à adapter tes coeffs selon ton feeling.
La méthode dont tu parles est sans doute + (UIFont *)preferredFontForTextStyle:(NSString *)style
Ceci dit, oui on pourrait imaginer un chauffe multiplicateur en fonction de la Size Class.
Je veux me passer des Sizes Classes pour la gestion des Fonts en fait.
La méthode dont tu parles est sans doute + (UIFont *)preferredFontForTextStyle:(NSString *)style
C'est pas dur à faire, en fait, sur le principe : il suffit de regarder la UITraitCollection actuellement appliquée à ton ViewController (tous les ViewController se conforment maintenant au protocole UITraitEnvironment dont peuvent te retourner cela) et de retourner une taille en conséquence.
Réponses
Tu peux utiliser une image, mais il y a mieux: utiliser un xib. (File>New>Resource>Launch Screen).
N'oublie pas de dire que tu as un Launch Screen dans l'onglet General de l'appli.
Ensuite, ça s'affichera bien sans agrandissement !
Ok merci !
Je ne connaissais pas. C'est géré à partir de quelle version d'iOS ça ?
Ok, du coup tu assures comment la retro compatibilité, en ajoutant en plus des images statiques ?
Ouais, et du coup, ça fait un sacré travail !
1) Tu utilises le Xib et en plus tu as besoin des Size Classes (iPad et tous les iPhones si tu veux juste mettre une image et un titre par exemple) !
2) Tu dois aussi pondre les Launscreens pour iOS < 8...
Puisqu'on parle d'optimisation iPhone 6 et surtout 6 Plus, quelle est la méthode la plus simple pour augmenter la taille des textes en fonction de l'écran ? Il me semble qu'Apple a introduit des méthodes, de mémoire.
95% de mes polices sont définies dans des constantes. L'idéal serait de pouvoir avoir une sorte de coeff multiplicateur automatique en fonction du device, mais là je rêve...
Ceci dit, oui on pourrait imaginer un chauffe multiplicateur en fonction de la Size Class.
C'est pas dur à faire, en fait, sur le principe : il suffit de regarder la UITraitCollection actuellement appliquée à ton ViewController (tous les ViewController se conforment maintenant au protocole UITraitEnvironment dont peuvent te retourner cela) et de retourner une taille en conséquence.
J'imagine bien une catégorie sur UIFont qui ajouterai une méthode [UIFont fontWithName:size:traitCollection:] prenant en paramètre une UITraitCollection qui va adapter le paramètre "size" en conséquence avec un chauffe multiplicateur.
A l'usage, tu récupères la UITraitCollection à passer avec les méthodes de UIViewController<UITraitEnvironment> lors de la construction de ton ViewController, sans oublier de les mettre à jour si la UITraitCollection change en cours de route dans -[id<UITraitEnvironment> traitCollectionDidChange:]. Et tu as ton système adaptatif en seulement quelques lignes de code.
Il ne te reste plus qu'à adapter tes coeffs selon ton feeling.
Je sais qu'il fait froid en Bretagne mais quand-même, de là à vouloir multiplier les températures !
Je veux me passer des Sizes Classes pour la gestion des Fonts en fait.
Sauf que ce n'est que iOS 8 malheureusement !
Mon app est iOS 7 et iOS 8.
preferredFontForTextStyle est iOS7 mini.
Mais pas UITraitEnvironment et UITraitCollection . ;-)
Au final je reste sur des images, j'ai juste joué avec les xcassets du coup.
Oui mais ça tu t'en fiches.
Ali, il dit n'imp' des fois
Sérieusement, tu utilises la preferedFont et basta.
Tu vas pas grossir ta font de 1 parce que c'est un iPhone 6Plus si ?
C'est faire dans la dentelle là ... Ou en....er les mouches comme dit le croco