uicollectionviewcontroller ios objective-c iphone uicollectionview

ios - uicollectionviewcontroller - ¿Es posible UICollectionView completamente estático?



uicollectionviewcell swift (2)

En UITableView, la configuración tableView completamente estática es posible. Puede desconectar la fuente de datos de UITableView y colocar cada celda en el guión gráfico (o xib) usando IB.

Intenté lo mismo con UICollectionView. desconecte la fuente de datos de UICollectionView. Coloque cada celda en UICollectionView en el guión gráfico. Lo construí sin ningún error. Pero no funcionó. las celdas no se mostraban en absoluto.

¿Es posible UICollectionView sin fuente de datos?


No.

UICollectionViewController está permitido crear un UICollectionViewController estático. Debe tener un delegado de origen de datos.

También quiero señalar que no hay un UITableView estático, sino un UITableViewController estático. Es una diferencia


Puede crear fácilmente un UICollectionViewController estático.

Simplemente cree cada celda en el generador de interfaces, déles identificadores de reutilización (por ejemplo, "Home_1" "Home_2" "Home_3"), y complete los métodos de la siguiente manera:

class HomeViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout { let cellIdentifiers:[String] = ["Home_1","Home_2","Home_3"] let sizes:[CGSize] = [CGSize(width:320, height:260),CGSize(width:320, height:160),CGSize(width:320, height:100)] override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return cellIdentifiers.count } override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { return collectionView.dequeueReusableCell(withReuseIdentifier: cellIdentifiers[indexPath.item], for: indexPath) } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return sizes[indexPath.item] } }

A continuación, configure el controlador de vista para que sea de la clase adecuada y, por supuesto, una colección estática (básicamente). Lamento decirlo, pero esta es, de lejos, la mejor manera de admitir las vistas de retrato y paisaje cuando tiene grupos de controles ...