iOS UIView Image d'arrière-plan
Je veux avoir un UIImage
comme une image de fond sur un UIView.
Voici mon code:
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"login.png"]];
self.view.backgroundColor = background;
[background release];
Le Problème, c'est que l'échelle n'est pas d'accord. Sa taille est de 640 480, donc je ne peux pas dire à 100% sûr, mais il ressemble à seulement 300 250 est affiché ou quelque chose comme ça.
Est-il apte à l'échelle de l'ajustement de l'image à UIView /ajustement de la taille modus?
- Quelle est la taille de l'original en PNG? Aussi êtes-vous en le consultant sur la rétine périphérique?
Vous devez vous connecter pour publier un commentaire.
Selon la
UIColor
API:Qui signifie qu'il essaie de créer un motif de votre image afin de remplir la zone. Je pense que la meilleure façon de le faire est donc de redimensionner votre image afin de l'adapter exactement la
UIView
taille.Il y a une belle réponse ici comment redimensionner votre image en cours d'exécution:
La façon la plus simple pour redimensionner une UIImage?
vous sont nécessaires au traitement de votre image avant de l'ajouter, essayez ceci :
bonjour essayez ceci,
Spécifier un fond réelle et de l'envoyer à l'arrière de votre point de vue
Dans Swift utiliser ce...
Et si vous voulez le faire en swift:
Je suis en utilisant l'extension suivante dans Swift:
Dans le code, vous pouvez l'utiliser comme ceci:
Dans Interface Builder, ajouter un
Image View
àView
et sélectionnez l'image que vous souhaitez utiliser dansAttributes inspector
. Enfin, faire de laImage View
le premier enfant de laView
en faisant glisser l'élément dansDocument Outline
.Si le point de vue va avoir la même taille, vous pouvez placer une méthode dans votre
AppDelegate.m
que les échelles de l'image d'arrière-plan lors de la première exécution, et puis continue à l'échelle de l'image dans la mémoire pour une utilisation ultérieure:Grâce à @uneakharsh pour son aide!
Vous pouvez utiliser UIGraphicsBeginImageContext méthode pour définir la taille de l'image même que de vue.
Syntaxe : vide UIGraphicsBeginImageContext(CGSize taille);
Je voulais aussi le faire et j'ai trouvé que, en raison de mise en page automatique, le
UIImageView
s'étend le contenantUIView
, quand je veux l'autre sens: je veux laUIImageView
de prendre la taille de laUIView
.J'ai donc créé cette classe. Il met à jour la
UIImageView
de châssis selon laUIView
conteneur à chaque fois qu'il est fixé parlayoutSubviews
.