Ich versuche eine runde Sammlungsansichtszelle zu erstellen.UICollectionView Zelle mit dicker Umrandung
In der Zelle habe ich eine rote UIView, die 0 von oben, vor, nach unten und unten ist. Innerhalb dieser Zelle habe ich eine andere Ansicht, die weiß ist und 4 von oben, vorne, unten und unten. In dieser Ansicht befindet sich ein UILabel und ein UIImageView.
Das Ziel wäre 2 Zellen pro Spalte zu haben und es hat einen roten Ring um einen weißen Kreis und Text und ein Bild.
die runden UIViews erstellen ich für UIView wie diese
extension UIView {
func createRoundView() {
layer.cornerRadius = frame.size.width/2
clipsToBounds = true
}
}
Innerhalb meiner cellForItemAt eine Verlängerung haben ich sagen
cell.whiteBackgroundView.createRoundView()
cell.colorStatusView.createRoundView()
Das Ziel auf der linken Seite, aber was geschieht, Es ist rechts.
Hier ist mein Storyboard
Die Einschränkungen sind alle blau, nichts rot.
Und die 2-Zelle pro Spalte bekommen verwende ich diese Delegatmethode
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let padding: CGFloat = 25
let collectionCellSize = collectionView.frame.size.width - padding
return CGSize(width: collectionCellSize/2, height: collectionCellSize/2)
}
Jede Idee, was könnte ich tun falsch sein?
Am Ende ist es egal, wenn ich eine Ansicht innerhalb einer Ansicht habe. Ich ändere die Ring- oder Rahmenfarbe basierend auf anderen Daten .... also muss ich einfach in der Lage sein, diese Rahmenfarbe zu ändern.