2016-04-02 7 views
4

Nur auf iPad-Geräten und nur in der neuesten Version 9.3, wenn Sie [PHCachingImageManager requestImageForAsset:] mit einer legitimen Zielgröße (CGSize) aufrufen, wird kein gültiges Bild zurückgegeben. Zum Beispiel ...PHCachingImageManager-Problem auf dem iPad unter iOS 9.3

PHAsset *asset = self.assetsFetchResults[indexPath.item]; 
[self.imageManager requestImageForAsset:asset 
          targetSize:CGSizeMake(101, 101) 
          contentMode:PHImageContentModeAspectFill 
           options:nil 
          resultHandler:^(UIImage *result, NSDictionary *info) { 
     cell.defectImageView.image = result; 
    }]; 

wird kein Bild zurückgeben. Dies ist in einer Sammlungsansicht, so dass das Bild der Zelle nur schwarz ist. Wenn Sie jedoch die Zielgröße auf 190,190 erhöhen, werden einige der Bilder vom Gerät zurückgegeben, aber nicht alle. Wenn die Zielgröße auf 501, 501 erhöht wird, werden alle Bilder korrekt zurückgegeben.

Offensichtlich wurden die Mindestanforderungen für targetSize geändert, aber es scheint nicht dokumentiert zu sein. Wenn ich das auf einem iPad mit iOS 9.2.1 starte, funktioniert das ohne Probleme. Hat das noch jemand erlebt?

ein Radar-Filing aber wollte prüfen ...

+0

In meinem Fall hat PHImageManager.defaultManager(). RequestImageForAsset das gleiche Problem. – user872176

+0

Ich habe ein Radar mit Apple geöffnet, sie fragen mich nach einem Testprojekt, das das Problem reproduziert. Ich habe ein neues Projekt erstellt und bin nicht in der Lage, es erneut zu erstellen. Es könnte also etwas Einzigartiges für meinen Code sein. Wird hier aktualisiert, wenn ich mehr weiß ... – user636066

Antwort

0

traf ich genau das gleiche Problem, und ich es behoben. enter image description here

+1

Bitte schreiben Sie den aktuellen Code als Text anstelle von Screenshots. Andere können Ihre Bilder nicht kopieren und einfügen. [Siehe hier] (http://meta.stackoverflow.com/a/285557/1402846) für Details. Vielen Dank. – Pang

Verwandte Themen