2017-09-09 1 views
1

Ich möchte nur wissen, das ist die beste und bessere Möglichkeit, Punkt in UICollectionViewCell zu zeichnen/anzuzeigen.Bessere Möglichkeit, Punkt (5 * 5) in UICollectionViewCell anzuzeigen - Swift

enter image description here

Ich mag Punkte für Bild/Video angezeigt werden, dass entweder Bild/Video auf Social Media gemeinsam genutzt wird oder nicht. Im obigen Bild zeigt ein dunkelblauer Punkt an, dass das Bild/Video in Facebook geteilt wird und ein hellblauer Punkt für Twitter geteilt wird.

Also meine Frage ist, was ist der bessere Weg, um das zu erreichen?

  1. Fügen Sie UIView auf Zellen- und Füllfarbe und cornerRadius hinzu.

  2. Machen Sie 1x, 2x, 3x Bilder und Anzeige in Zelle mit UIImageView.

  3. Verwenden von CAShapeLayer() und UIBezierPath().

oder ein anderer Weg?

Welches ist das Beste und wie ist es mit Speicher und Leistung verbunden?

+1

Gehen Sie mit 1st. Es wird helfen, Rendering, CAShapeLayer() und UIBezierPath() wird mehr Zeit als UIView dauern. Durch die Verwendung des Bildes wird die App-Größe erhöht. –

+0

Vielen Dank für Ihren Rat. –

Antwort

1

Unterklasse a UICollectionViewCell und fügen Sie eine UIView zu ihm mit layer.cornerRadius Set sowie Hintergrundfarbe. Dieser Ansatz könnte vollständig programmgesteuert oder mit einem xib implementiert werden.

Wenn Sie die Punktgröße dynamisch festlegen möchten, können Sie Einschränkungen für jede Größenklasse separat hinzufügen.

CAShapeLayer ist im Vergleich ziemlich speicherintensiv. Der Bildansichtsansatz, der ebenfalls unnötig ist, erhöht die Dateigröße.

+0

Vielen Dank für Ihre Antwort. –

Verwandte Themen