UITableView kommt zu einem Crawl, wenn jeder Zelle ein UILabel mit cornerRadius hinzugefügt wird

8

Ich füge ein UILabel zu jeder Zelle in meiner Tabellenansicht hinzu. Dies ist zunächst kein Problem. Wenn ich mit dem layer.cornerRadius scrolling die Ecken der UILabel abrunde, kommt die Tabellenansicht zum Stillstand.

%Vor%     
yesimarobot 13.02.2010, 02:59
quelle

3 Antworten

7

Ich habe das vor mir selbst versucht und festgestellt, dass es für jede Art von Sicht, die sich bewegt, nutzlos ist. Sie sollten ein Bild mit abgerundeten Ecken erstellen und dieses stattdessen als Hintergrund für Ihr Label hinzufügen.

    
nevan king 13.02.2010, 09:49
quelle
15

Es ist kein Bild mit aufgerundeten Ecken erforderlich - siehe die Antwort von fknrdcls auf diese Frage:

UILabel-Layer cornerRadius wirkt sich negativ auf die Leistung aus

Im Grunde müssen Sie Ihrem Label lediglich einen transparenten Hintergrund geben und stattdessen die Hintergrundfarbe zur Ebene hinzufügen. Dann können Sie maskToBounds deaktivieren, was die Leistung erheblich verbessert. Dein Code wird also:

%Vor%     
ChristophK 20.09.2011 15:05
quelle
0

für eine UIImageView der UILabel-Trick hat nicht funktioniert, weil ich auch ein Bild zuschneiden musste, nicht nur eine Hintergrundfarbe. Die schnellste Lösung, die ich gefunden habe, war, das Elternelement der Ansicht zu rastern, wenn ich es animierte (ich habe eine Schiebekonsole).

    
Michael Rose 27.02.2013 15:39
quelle