5 Stimmen

UITableView cornerRadius mit Randleistungsproblemen unter iOS

Ich habe eine interessante Beobachtung gemacht, was die Leistung beim Scrollen auf UITableView con cornerRadius , borderWidth y borderColor ermöglicht.

self.tableView.layer.cornerRadius = 10.f;
self.tableView.layer.borderWidth = 1.0f;
self.tableView.layer.borderColor = [UIColor whiteColor].CGColor;

Wenn ich die borderWidth y borderColor als Scrollen bekommt 60 FPS kein Problem. Solange ich diese beiden Eigenschaften hinzufügen, um Schicht FPS Tropfen.

Hat jemand einen Vorschlag oder eine Erklärung, warum dieses seltsame Verhalten auftritt?

Vielen Dank!

6voto

CALayer mit der Eigenschaft shouldRasterize für diese Art von Leistungsproblemen. Einfach einstellen

self.tableView.layer.shouldRasterize = YES;

Diese eine Zeile hat mir viel Zeit und Arbeit erspart.

1voto

Borut Tomazin Punkte 7817

Ich habe gerade herausgefunden, dass cornerRadius mit borderWidth die Leistung von tableView stark verlangsamt. So anstelle von 10.f Radius änderte ich zu 5.f und Leistung hat erstaunlich erhöht. Immer noch nicht perfekt, aber spürbar besser...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X