J'ai télécharger plusieurs images (2/3), et je veux le montrer sur mon écran d'accueil à mon UIImageView unique avec le ratio d'aspect de 1: 1 quand il télécharge toujours. Alors, je dessine les images avec ce code:fusionner 2/3 image en 1 image avec divisé par chaque image en utilisant drawinRect iOS objectif C
PHCachingImageManager *imageManager = [PHCachingImageManager new];
CGSize canvasSize = CGSizeMake(100*self.uploadAssets.count, 100);
UIGraphicsBeginImageContext(canvasSize);
for (int i = 0; i < self.uploadAssets.count; i++){
if ([self.uploadAssets[i] isKindOfClass:[PHAsset class]]) {
PHAsset *asset = self.uploadAssets[i];
[imageManager requestImageForAsset:asset
targetSize:CGSizeMake(350,350)
contentMode:PHImageContentModeAspectFill
options:nil
resultHandler:^(UIImage * _Nullable result,
NSDictionary * _Nullable info) {
if (result) {
[result drawInRect:CGRectMake(i*100, 0, 100, 100)];
}
}];
}else if ([self.uploadAssets[i] isKindOfClass:[Item class]]) {
Item *item = self.uploadAssets[i];
NSURL *url = [NSURL URLWithString: item.images[0]];
NSData *imageData = [[NSData alloc] initWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:imageData];
[image drawInRect:CGRectMake(i*100, 0, 100, 100)];
}
}
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.uploadImage = finalImage;
Le problème est les 3 image devient trop plat (flat image on the top) et non proportionnelle. Je veux que ces images deviennent propotional like this
J'ai changé mon UIImageView en AspectFill ou en AspectFit ou par défaut, mais aucun d'entre eux ne rend l'image affichée correctement. Que devrais-je changer? Puis-je recadrer mon image au milieu seulement pour chaque photo?
au lieu d'affecter cette image à imageView essayez de l'ajouter en tant que contenu de couche, puis réglez la gravité sur AspectFill/AspectFit. Peut-il devenir utile –
que voulez-vous dire par ajouter mon image finale en tant que contenu de couche? je ne comprends pas vraiment, encore nouveau dans le développement iOS –