Я пытаюсь использовать UICollectionView для создания сетки, которую пользователь может установить как ячейки x по ячейкам y (введенные в текстовые поля), при этом все еще занимая ту же ширину на экране.Ячейка ячейки UICellView в swift
Мне удалось создать сетку, содержащую правильное количество ячеек, но они еще не верны, т. Е. Ввод 5 на 7 даст 35 ячеек, но не в ячейке 5 клеток на 7 раскладка. Это код, который у меня есть до сих пор.
MyCollectionViewCell.swift импорт UIKit
class MyCollectionViewCell: UICollectionViewCell {
@IBOutlet var cellLabel: UILabel!
}
CreateNewProject.swift
class CreateNewProject : UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UITextFieldDelegate {
@IBOutlet var widthTextBox: UITextField!
@IBOutlet var lengthTextBox: UITextField!
@IBOutlet var myCollection: UICollectionView!
let reuseIdentifier = "cell" // also enter this string as the cell identifier in the storyboard
@IBAction func updateView(sender: AnyObject) {
let widthValue = Int(widthTextBox.text!)
let lengthValue = Int(lengthTextBox.text!)
multiplyValue = Int(widthValue! * lengthValue!)
createArray()
}
func createArray() {
var i = 0
while i < multiplyValue {
items.append("")
i += 1
}
myCollection.reloadData()
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
print(self.items.count)
}
// make a cell for each cell index path
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
// get a reference to storyboard cell
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! MyCollectionViewCell
// Use the outlet in custom class to get a reference to the UILabel in the cell
cell.cellLabel.text = self.items[indexPath.item]
cell.backgroundColor = UIColor.lightGrayColor()
return cell
}
}
я ограничивала UICollectionView слева, справа и сверху и в надежде изменить размер программно ячейки в сборе view to UICollectionView.width/x (количество выбранных пользователем ячеек).
Не уверен, что это лучший способ сделать это, а также необходимо сохранить некоторое пробел между отдельными ячейками. Любая помощь приветствуется!