31 votes

iOS fond de lin clair ?

Je voudrais vraiment savoir s'il y a un moyen d'obtenir le fond en lin clair d'iOS. Voici à quoi ça ressemble : ios maps app open with menu open, map looks like a pealed up piece of paper. It is on an iPhone running a version of iOS before ios6

Existe-t-il un moyen d'y accéder en utilisant simplement le SDK intégré ? Ou dois-je trouver une image comme celle-ci quelque part ?


EDITAR: Je ne voulais pas utiliser d'API privées, alors voici ce que j'ai fait. J'ai récupéré l'image de cette façon :

CGRect rect = CGRectMake(0.0f, 0.0f, 640.0f, 960.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [[UIColor underPageBackgroundColor] CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagepath = [documentsDirectory stringByAppendingPathComponent:@"underPageBackground.png"];
[UIImagePNGRepresentation(image) writeToFile:imagepath atomically:YES];

Et voici le png résultant en résolution rétine : (cliquez sur la vignette pour l'ouvrir)

click for full resolution

J'espère que cela sera utile à quelqu'un :)

53voto

sha Points 11383

Utilice [UIColor underPageBackgroundColor] . Et voici un lien avec des informations et des échantillons utiles.

0 votes

Très bien, je ne connaissais pas ça ! Est-ce que ça va me faire rejeter par Apple si je l'utilise ?

0 votes

Je suis d'accord, je n'étais pas au courant de l'existence du wiki. Une bonne référence à connaître.

2 votes

J'ai trouvé cet avertissement d'Apple quelque part sur le net concernant le rejet de leur application par Apple : The non-public API that is included in your application is underPageBackgroundColor. Donc, je l'utiliserais avec précaution.

5voto

Felz Points 5989

Je ne suis pas sûr que ce soit exactement la bonne (elle me semble plus foncée), mais vous pouvez choisir la "couleur d'arrière-plan texturé de la vue défilante" dans Interface Builder. Pour ce faire, lorsque vous sélectionnez une couleur, choisissez la boîte de dépôt à droite au lieu de la boîte de couleur à gauche.

alt text

0 votes

Oui, c'est le sombre que j'ai déjà trouvé. Je voulais le clair, mais merci encore pour votre réponse.

1 votes

Une autre option serait de choisir la plus sombre et de la placer au-dessus d'une vue blanche. Ensuite, réglez l'alpha de l'arrière-plan texturé sur 0,8 ou 0,9 et il devrait s'éclaircir. (Et vous n'avez pas besoin d'utiliser une API privée ni un png)

0 votes

@sudorm-rf Y a-t-il un moyen d'obtenir la partie sombre de manière programmatique ?

3voto

0sh Points 601

Je pense que vous devriez pouvoir trouver cet arrière-plan dans le SDK (il devrait être celui par défaut pour ce type de fonction "flick page up") ou sur google (essayez de rechercher UIStockImageUnderPageBackground.png ).

Sinon, cela ressemble à un modèle. Ce que vous pouvez faire, c'est importer la capture d'écran ci-jointe, puis couper un peu sans les ombres et remplir une toile blanche avec, de sorte que les côtés correspondent en formant le motif original.

-1voto

Hasen Points 70

Ce n'est pas vraiment une solution pour obtenir l'image réelle mais vous pouvez facilement faire la texture. Je viens de trouver un tutoriel sur la façon de le faire dans Photoshop. iOS Linen tute ici De cette façon, vous pouvez en faire la couleur que vous voulez !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X