4 votes

UIImage étire seulement une partie

Donc, disons que j'ai ce sprite :

mbm
bcb
mbm

où chaque lettre est une portion. (m : marge ; b : bordure, c : centre)

et je veux une classe qui soit capable de répéter les b et c aussi longtemps qu'il le faut pour compléter la vue, donc j'obtiens quelque chose comme ça :

mbbbbbbbbbbbbbm
bcccccccccccccb
bcccccccccccccb
bcccccccccccccb
mbbbbbbbbbbbbbm

Y a-t-il quelque chose qui puisse déjà le faire ? S'il n'existe pas, avez-vous des idées sur la manière de le mettre en œuvre ?

8voto

louiscoquio Points 5395

Ne pourriez-vous pas y parvenir avec cette méthode ?

-(UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

(voir Référence de la classe UIImage d'Apple )

2voto

Vicky Points 220

Nous pouvons étirer l'image en utilisant le code ci-dessous : - Ici, nous avons besoin que le m..m soit de la même taille, donc nous étirons la partie centrale.

UIImage *image = [UIImage imageNamed:@"img_loginButton.png"];
    UIEdgeInsets edgeInsets;
    edgeInsets.left = 3.0f; //Assume it is the pixel for starting 'm'
    edgeInsets.top = 0.0f;
    edgeInsets.right = 3.0f; //Assume it is the pixel for Ending 'm'
    edgeInsets.bottom = 0.0f;
    image = [image resizableImageWithCapInsets:edgeInsets];
//Use this image as your controls image

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