Ich bin ein UIImageView
für jedes meiner UITableViewCells
verwenden, als Thumbnails. Mein Code verwendet SDWebImage
, um diese Bilder asynchron aus meinem Backend zu übernehmen und sie zu laden und dann zwischenzuspeichern. Das funktioniert gut.Mit corner auf einem UIImageView in einem UITableViewCell
Meine UIImageView
ist ein 50x50 Quadrat, in Interface Builder erstellt. Sein Hintergrund ist undurchsichtig, weiße Farbe (selbe wie meine UITableViewCell
Hintergrundfarbe, für Leistung). Allerdings würde ich gerne glatte Ecken für eine bessere Ästhetik verwenden. Wenn ich dies tun:
UIImageView *itemImageView = (UIImageView *)[cell viewWithTag:100];
itemImageView.layer.cornerRadius = 2.5f;
itemImageView.layer.masksToBounds = NO;
itemImageView.clipsToBounds = YES;
Mein Tableview fällt um 5-6 Frames sofort, Capping etwa 56 FPS beim schnellen Scrollen (was in Ordnung ist), aber wenn ich die Refresh-Steuer ziehen und ziehen, hinkt es ein wenig und fällt auf etwa 40 FPS. Wenn ich die cornerRadius
Linie entferne, ist alles in Ordnung und keine Verzögerung. Dies wurde auf einem iPod touch 5G mit Instrumenten getestet.
Gibt es einen anderen Weg, könnte ich eine abgerundete UIImageView
für meine Zellen haben und keinen Leistungseinbruch erleiden? Ich hatte bereits meine cellForRowAtIndexPath
optimiert und ich bekomme 56-59 FPS beim schnellen Scrollen ohne cornerRadius
.