Das laden der Bilder von einer URL in eine UITableViewCell ' s UIImageView
Ich habe den folgenden code ein: (Hinweis: newsImageURL
ist ein NSArray
)
NSString *imagesURL = @"http://aud.edu/images/newsimage01.png,http://aud.edu/images/newsimage04.png,http://aud.edu/images/newsimage02.png,http://aud.edu/images/newsimage03.png,http://aud.edu/images/newsimage01.png,http://aud.edu/images/newsimage04.png,http://aud.edu/images/newsimage01.png,http://aud.edu/images/newsimage04.png,http://aud.edu/images/newsimage01.png,http://aud.edu/images/newsimage04.png,";
newsImageURL = [[NSArray alloc] initWithArray:[AllNewsHeadLine componentsSeparatedByString:@","]];
Ich versuche, laden Sie diese Bilder in einer Zelle verwenden Sie den folgenden code:
NSData* imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString: [newsImageURL objectAtIndex:indexPath.row]]];
cell.image = [UIImage imageWithData:imageData];
Das Bild wird feiner, wenn ich diese Zeile stattdessen:
cell.image = [UIImage imageNamed:@"imagename.png"];
Was mache ich falsch?
- Was passiert mit dem code, wie du es haben? Einige der Bilder laden, oder bekommt man einen leeren Raum, in dem das Bild sein soll, jedes mal?
- wenn ich versuche, es zu laden von URLs, die Raum für Bild verschwindet, wird keines der Bilder angezeigt werden und nichts passiert, im Grunde genommen. aber wenn ich laden Sie es mit der
imageNamed
es lädt fine - Nach Ihrem Aufruf zum laden der Bilddaten in das NSData-Objekt, imageData, haben Sie überprüft, um zu sehen, ob dies tatsächlich Daten enthält [imageData length];
- ok gut es gibt NULL zurück, so dass ich vermute, das ist, wo das problem liegt, ABER ich kann nicht wirklich herausfinden, warum!!! die URLS sind da!!
- Ok ich ersetzt, [NSURL URLWithString: [newsImageURL objectAtIndex:indexPath.Zeile] mit einer URL zu Lesen, anstatt es aus dem array und es funktioniert einwandfrei... also sein das array, aber kann mir jemand sagen, warum die nicht richtig funktioniert?
- Suche in der Zeile, wo Sie instanziiert das array, das Sie sagen [AllNewsHeadLine componentsSe... in der Erwägung, dass aus dem Beispiel sollte es sein, NSArray *newsImageURL = [imagesURL componentsSeparatedByString:@","]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einen vorhandenen Rahmen unterstützt die Zwischenspeicherung, der Standard-Platzhalter und lazy-laden von Bildern.
https://github.com/rs/SDWebImage ist ein gutes und einfaches Rahmen
Laden Sie Daten auf diese Weise:
Und Sie können instanziiert das array der URLs auch auf diese Weise:
Jedoch, wenn jemand blättert um auf dem Tisch ein großes Angebot, können Sie am Ende das laden der Bilder um ein Vielfaches, wie die Zellen werden recycelt.
Vielleicht können Sie einen Versuch haben https://github.com/SpringOx/ALImageView.git.Es ist viel einfacher, als SDWebImage.Sie brauchen nur zwei Quell-Dateien(ALImageView.h/ALImageView.m).Sie können die Wiederverwendung der Bild-Ansicht neu laden verschiedene urls in einer tableview cell.
Können Sie Einfach laden Sie alle Bilder mit Hilfe des Folgenden Codes ,Details-Array ist ein Main-Array
Mit Hilfe der Folgenden Code-Abrufen Der Foto-URL in String