2017-08-24 1 views
0

J'essaie d'afficher une image avec "https" dans l'URL, mais je ne sais pas pourquoi elle n'apparaît pas. (Par exemple https://www.starkmedia.com/blog/wp-content/uploads/2016/02/https.png). Je n'ai aucune idée de ce qui ne va pas car je n'ai aucune exception non plus. Quelqu'un peut-il m'aider à comprendre ce qui ne va pas et comment je peux afficher correctement l'image?L'image ne s'affiche pas dans l'application iOS

Je suis nouveau sur Xcode et j'essaie juste de faire quelques changements dans le code écrit par un autre développeur.

- (void)downloadImageFromUrl:(NSString *)urlString 
{ 
    NSLog(@"Url String: %@", urlString); 
    self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0.0, 0.0, 179, 245)]; 
    NSData *imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:urlString]]; 
    self.imageView.image = [UIImage imageWithData:imageData];  

    self.imageView.userInteractionEnabled = YES; 
    self.imageView.autoresizesSubviews = YES; 

    [MBProgressHUD hideHUDForView:self.view animated:YES]; 
    [self showImage]; 
} 

- (void)showImage 
{ 
    if ([self.scrollView.subviews count] == 3) { 
     [self.imageView removeFromSuperview]; 
    } 

    self.scrollView.alpha = 1; 
    self.imageView = [[UIImageView alloc] initWithImage:self.image]; 
    self.imageView.frame = (CGRect){.origin=CGPointMake(0.0f, 0.0f), .size=self.image.size}; 
    [self.scrollView addSubview:self.imageView]; 

    // 2 
    self.scrollView.contentSize = self.image.size; 

    // 3 
    UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] 
                initWithTarget:self 
                action:@selector(scrollViewDoubleTapped:)]; 

    doubleTapRecognizer.numberOfTapsRequired = 2; 
    doubleTapRecognizer.numberOfTouchesRequired = 1; 
    [self.scrollView addGestureRecognizer:doubleTapRecognizer]; 

    UITapGestureRecognizer *twoFingerTapRecognizer = [[UITapGestureRecognizer alloc] 
                 initWithTarget:self 
                 action:@selector(scrollViewTwoFingerTapped:)]; 

    twoFingerTapRecognizer.numberOfTapsRequired = 1; 
    twoFingerTapRecognizer.numberOfTouchesRequired = 2; 
    [self.scrollView addGestureRecognizer:twoFingerTapRecognizer]; 

    // 4 
    CGRect scrollViewFrame = self.scrollView.frame; 
    CGFloat scaleWidth = scrollViewFrame.size.width/self.scrollView.contentSize.width; 
    CGFloat scaleHeight = scrollViewFrame.size.height/self.scrollView.contentSize.height; 
    CGFloat minScale = MIN(scaleWidth, scaleHeight); 
    self.scrollView.minimumZoomScale = minScale; 

    // 5 
    NSString *model = [[UIDevice currentDevice] model]; 

    if([model isEqualToString:@"iPad"]) { 
     self.scrollView.maximumZoomScale = 1.5f; 
    } 

    else { 
     self.scrollView.maximumZoomScale = 1.5f; 
    } 

    self.scrollView.zoomScale = minScale; 

    // 6 
    [self centerScrollViewContents]; 
} 

Répondre

0

Il y a deux façons de le faire Ajout manuellement ou utilisant Pod

manuellement

Download SDWebImage from Here

1.Add SDWebImage dossier à votre application.

enter image description here

  1. Et assurez-vous que vous ajoutez à toutes les cibles que vous souhaitez utiliser cette bibliothèque.

enter image description here

3.Now Importer dans votre fichier d'en-tête.

#import <SDWebImage/UIImageView+WebCache.h> 
#import "UIImageView+WebCache.h" 

4.Utilisez Ci-dessous le code

[self.imageView sd_setImageWithURL:[NSURL URLWithString:"yoururl.png"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 

5.Done.

utilisant POD

Cela vous aidera à voir chaque fois que vos dépendances obtenir de nouvelles mises à jour. Vous saurez également quelle version utilisez-vous? C'est une bonne pratique.

1.Vous pouvez, par exemple, utiliser des Cocoapods. Accédez à votre terminal, tapez:

$ sudo gem install cocoapods 

2.Puis aller dans votre dossier projet (lieu où vous avez xcodeproj) et tapez:

$ pod init 

3.This crée un fichier nommé PODFILE . Ouvrez-le et coller:

platform :ios, '8.0' // or whatever you need 
use_frameworks! 

pod 'SDWebImage', '~> 3.7' 

4.So quand vous l'avez prêt, ouvrez le Terminal et tapez:

$ pod install 

5.Depuis maintenant vous devez travailler sur la place xcworkspace od xcodeproj.

6.Now Importer Ceci dans votre fichier d'en-tête.

#import <SDWebImage/UIImageView+WebCache.h> 
#import "UIImageView+WebCache.h" 

4.Utilisez Ci-dessous le code

[self.imageView sd_setImageWithURL:[NSURL URLWithString:"yoururl.png"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 

5.Done.

Espérons que cela aide.