Ich habe ein Szenario, dass ich X Labels (oder Schaltflächen) habe. Sie sollten in einer horizontalen Sammlungsansicht angezeigt werden. Es sollte nicht scrollbar sein. Die Sache ist, dass die Anzahl der Etiketten/Knöpfe sich ändern kann (0-5).CollectionView mit unterschiedlicher Anzahl von Elementen, Elemente sollten die Sammlungsansicht füllen
Die perfekte Sache eine StackView mit gleicher Breite für jedes Element zu verwenden, wäre aber ich nicht verwenden kann, weil es so iOS 9. (Ich brauche Kompatibilität für iOS 8.0 zu -.-)
braucht Ich erstelle eine Sammlungsansicht, deaktiviere das Scrollen und möchte eine dynamische Höhe und Breite für meine Zellen festlegen.
Ich erhalte die Höhe/Breite meiner Kollektion
heightOfLabel = testModeLoginCollectionView.frame.height
widthOfLabel = testModeLoginCollectionView.frame.width/
CGFloat(array5.count)
Die Ergebnisse sind testModeLoginCollectionView.frame.width = 568,0 widthOflabel 113,6 array5 = 5 Artikel
Ich benutzte diese Methode, um Größe meine Zellen :
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let c = CGSizeMake(heightOfLabel!, widthOfLabel!);
return c
}
Er soll Größe Breite der Zellen 113,6 und 33,0 Bu t es sieht so aus:
Ich versuchte ein wenig mit Aspect Fit, Scale zu füllen usw., aber es ändert sich nicht so viel. Es ist zu groß oder zu klein.
Hat jemand eine Idee? Ich würde auch eine andere Technologie als die Collection-Ansicht verwenden.
Wann habe ich die Werte in meinen Variablen gespeichert?
override func viewDidLoad() {
testModeLoginCollectionView.delegate = self
testModeLoginCollectionView.dataSource = self
heightOfLabel = testModeLoginCollectionView.frame.height
widthOfLabel = testModeLoginCollectionView.frame.width/CGFloat(array5.count)
print("testModeLoginCollectionView.frame.width \(testModeLoginCollectionView.frame.width)")
print("widthOfLabel \(widthOfLabel)")
}
Ich versuchte es in viewDidAppear, aber keinen Unterschied
An welchem Punkt werden Speichern Sie die Werte für heightOfLabel und widthOfLabel? – ZeMoon