UIView: Abgerundete Ecken ohne Leistungsprobleme

7

Ich verwende eine AQGridView , um meine Daten in einem Raster auf dem iPad anzuzeigen. Jede Zelle ist eine UIView Unterklasse und normalerweise werden 18 Zellen gleichzeitig angezeigt.

Ich möchte eine runde Ecke zu diesen Zellen hinzufügen, also setze ich die Eigenschaft cornerRadius der relevanten Ebenen (d. h. die Ebene der Haupt UIView und einer Unteransicht). Dies führt jedoch zu Leistungsproblemen und das Scrollen ist nicht mehr reibungslos. Wenn andere CALayer -Eigenschaften wie shadowOpacity verwendet werden, geschieht dies nicht.

Gibt es andere Möglichkeiten, eine abgerundete Ecke hinzuzufügen (abgesehen von der Verwendung eines Bildes)? Oder mache ich etwas falsch?

    
fabian789 14.04.2011, 17:15
quelle

2 Antworten

27

Ich sah auch einen großen Leistungseinbruch, wenn ich cornerRadius auf der Ebene einer Ansicht verwendete, die eine UIImageView-Unteransicht enthielt. Rasterisierung hat dieses Problem gelöst: view.layer.shouldRasterize = YES;

    
James Wald 08.11.2011, 22:23
quelle
0

Es könnte sein, wo Sie den Aufruf von setCornerRadius platzieren. Stellen Sie sicher, dass es irgendwo nur einmal aufgerufen wird, nicht zum Beispiel in einer drawRect-Methode.

    
picciano 14.04.2011 17:26
quelle