2016-03-03 156 views
0

我正在使用集合视图来显示自定义集合视图单元格的网格来表示类别图标,这些图标将作为按钮继续到表视图控制器以显示类别列表。我使用的“产品”(标签)和“图像”(产品的图像)显示多个定制单元阵列基于关闭的原型本身Segueing自定义视图单元格到自定义视图控制器

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 
} 

如何将能够Segue公司我的主页查看控制器到单个自定义表格视图控制器以显示不同的类别列表,具体取决于选择了哪个图标?任何帮助非常感谢,仍然习惯xcode和迅速

+0

我需要一些澄清。 你在问如何从一个VC到另一个?或者询问如何根据选择的细胞选择不同的风险投资?或者如何鉴别细胞的选择? – PeejWeej

+0

接近不同的风险投资公司,取决于选择哪个单元格,这与我所得到的最接近。我希望每个单元格在选择时都以相同的方式在tableview中显示类别列表(这是HW的基本购物应用程序)。我希望能够创建一个原型表格视图单元格,左边是一个imageView,一个描述是所选类别单元格中每个“列表”中心的标签。 – rws

回答

0

如果我正确地理解你,你可以使用相同的子UITableViewController并根据选择的单元格传递不同的数据。

首先在CollectionViewController实施

override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) 

然后与数据

performSegue("identifier", sender: self.products[indexPath.row]) 
+0

我的下一个问题是如何分配一个包含UIImage数组的对象(列表图片)和一个字符串数组(列表说明),以便选择特定图标。这个对象是performSegue方法中的发送者吗? – rws

+0

也许我可以使用一系列case语句来确定在主视图控制器中的特定索引处点击图标后哪些数据显示在tableview控制器中? – rws

+0

理想情况下,您应该将数据存储在一个数组中,索引到您用于文本/图像数组的相同索引,而不仅仅是将必要的数据传递给您的下一个ViewController – PeejWeej

0

首先您的视图控制器具有执行SEGUE符合UICollectionViewDelegate,那么你必须执行此委托方法执行在选择细胞时延续:

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 
    } 
} 
相关问题