Comment étirer ImageView (iphone dev.)?
-
26-10-2019 - |
Question
Je suis étudiant pendant plusieurs mois Objective-c, donc je suis débutant.
J'ai une image (vertical gradient)
253px x 80px
. Et je veux étirer la screen width
.
Comment puis-je faire UIImageView * 1024( or 768) x 80px
avec cette image?
La solution
CGRect myImageRect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 80.0f);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
[myImage setImage:[UIImage imageNamed:@"gradient-253x80.png"]];
[self.view addSubview:myImage];
Autres conseils
Un drapeau utilisé pour déterminer comment une vue expose son contenu lorsque son changement de bounds. @property (nonatomic) UIViewContentMode contentMode
UIViewContentModeScaleAspectFit
Vous pouvez également consulter la documentation sur la méthode de UIImage:
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
Cela vous permet de réaliser des images qui peuvent adapter un petit graphique à une variété de tailles et de rôles. @ Suggestion de Chugaister.
Vous devez utiliser:
Portrait mode
yourImage.frame = CGRectMake (x start, y start, x width, y width);
Une solution serait d'appeler:
imageView.transform = CGAffineTransformMakeScale( 1.5, 1);
Ceci va étirer l'image par un facteur de 1,5 sur l'axe des x, tout en conservant l'axe Y dimensions.