我使用集合视图来显示自定义集合视图单元格的网格,以表示类别图标,这些图标将用作按钮以切换到表格视图控制器以显示类别列表。我正在使用一系列"产品" (标签)和"图像" (产品图像)根据原型显示多个自定义单元格
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CollectionViewCell
cell.imageView?.image = self.images[indexPath.row]
cell.labelView?.text = self.products[indexPath.row]
return cell
}
如何将我的主页视图控制器转换为单个自定义表视图控制器,以根据选择的图标显示不同的类别列表?非常感谢任何帮助,仍然习惯于xcode和swift
答案 0 :(得分:0)
如果我理解正确,您可以使用相同的子UITableViewController,并根据所选的单元格传递不同的数据。
首先在CollectionViewController工具
中if !user.status_id.nil?
...
end
然后用数据执行segue
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
答案 1 :(得分:0)
首先,您的视图控制器必须符合UICollectionViewDelegate
,然后您必须实现此委托方法以在选择单元格时执行segue:
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("identifier", sender: nil)
}
然后检查segue标识符是否匹配,获取所选单元格的indexPath
,构建所选产品和图像的元组,最后将其传递到目的地tableViewController
。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "identifier" {
let indexPath = collectionView.indexPathsForSelectedItems()!.first!
let selectedProduct = (product: products[indexPath.row], image: images[indexPath.row])
let controller = segue.destinationViewController as! YourTableViewController
controller.product = selectedProduct
}
}