如何通过单击集合视图单元格中的按钮导航到另一个视图控制器

安德烈

我有几个单元格的集合视图控制器。每个单元格都有一个按钮,我想通过单击集合视图单元格上的ckick导航到另一个视图控制器。我可以通过单击单元格来实现,但是我想通过单击单元格中的按钮来实现,而不是通过单击单元格来实现。我知道如何通过单击单元格来做到这一点,例如:

override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    if let book = books?[indexPath.item] {
        showBookDetail(book)
    }
}

func showBookDetail(book: Book) {
        let layout = UICollectionViewFlowLayout()
        let bookDetailVC = BookDetailVC(collectionViewLayout: layout)
        bookDetailVC.book = book
        navigationController?.pushViewController(bookDetailVC, animated: true)
    }

这很简单,因为我拥有indexPath并且可以发送类似参数。

我如何尝试做到这一点:

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(cellId, forIndexPath: indexPath) as! BookCell
    cell.chapter = books?.bookChapters?[indexPath.item]
    cell.goButton.addTarget(self, action: #selector(goChapter), forControlEvents: .TouchUpInside)
    return cell
}

但是如何发送book到我的funcgoChapter外面didSelectItemAtIndexPath呢?

func goChapter() {
    let layout = UICollectionViewFlowLayout()
    let bookChapterVC = BookChapterVC(collectionViewLayout: layout)
    bookChapterVC.chapter = self.book?.bookChapters![0] // here I want to send separate chapter of the book
    navigationController?.pushViewController(bookChapterVC, animated: true)
}
海岸R.梅蒙

您可以通过UIButton以下方式获得点击的索引:

func goChapter(sender: UIButton!) {
    var point : CGPoint = sender.convertPoint(CGPointZero, toView:collectionView)
    var indexPath = collectionView!.indexPathForItemAtPoint(point)
    bookChapterVC.chapter = self.book?.bookChapters![indexPath.row]
    navigationController?.pushViewController(bookChapterVC, animated: true)
}

addTarget如下更新您的

cell.goButton.addTarget(self, action: #selector(goChapter(_:)), forControlEvents: .TouchUpInside)

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

表视图单元格到另一个视图控制器

来自分类Dev

通过 Segue 将对象从表视图单元格传递到另一个视图控制器

来自分类Dev

iOS如何将选定的单元格值隔离到另一个视图控制器中

来自分类Dev

如何为视图控制器创建嵌入到导航控制器中的另一个视图控制器的序列?

来自分类Dev

单击按钮移至iOS中的另一个视图控制器

来自分类Dev

无法使用按钮从一个视图控制器导航到另一个

来自分类Dev

将数据传递到导航控制器中的另一个视图控制器

来自分类Dev

如何通过单击表视图控制器中的单元格来生成视图控制器

来自分类Dev

如何从另一个视图控制器实例化导航控制器?

来自分类Dev

如何在表格视图单元格中获取文本字段文本,该表格视图位于 swift 4 中的另一个表格视图控制器中?

来自分类Dev

单击一个视图控制器中的按钮将在另一个视图控制器中进度条

来自分类Dev

如何在集合视图控制器上添加另一个滚动视图?

来自分类Dev

如何在集合视图控制器上添加另一个滚动视图?

来自分类Dev

如何在另一个视图控制器中检查按钮状态

来自分类Dev

Xamarin IOS导航到xamarin上没有按钮的另一个视图控制器

来自分类Dev

如何将数据从一个视图控制器传递到导航控制器中嵌入的另一个视图控制器

来自分类Dev

如何通过控制器返回另一个控制器的局部视图?

来自分类Dev

如何将按钮从一个视图控制器隐藏到另一个

来自分类Dev

如何从不同的集合视图单元格选择到不同的视图控制器

来自分类Dev

如何将信息从一个视图控制器中的表视图单元传递到另一视图控制器?

来自分类Dev

将多个选定表单元格中的数组传递到下一个视图控制器

来自分类Dev

表格视图中的单元格单击无法快速导航到新控制器

来自分类Dev

通过快速开关禁用另一个视图控制器上的按钮

来自分类Dev

如何使集合视图中的不同单元格进入Swift中的不同视图控制器

来自分类Dev

单元格中的按钮并移动视图控制器

来自分类Dev

如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

来自分类Dev

弹出导航控制器层次结构中的另一个视图控制器

来自分类Dev

如何关闭当前的视图控制器并在iOS中推送另一个视图控制器

来自分类Dev

如何从另一个视图控制器访问按钮?

Related 相关文章

  1. 1

    表视图单元格到另一个视图控制器

  2. 2

    通过 Segue 将对象从表视图单元格传递到另一个视图控制器

  3. 3

    iOS如何将选定的单元格值隔离到另一个视图控制器中

  4. 4

    如何为视图控制器创建嵌入到导航控制器中的另一个视图控制器的序列?

  5. 5

    单击按钮移至iOS中的另一个视图控制器

  6. 6

    无法使用按钮从一个视图控制器导航到另一个

  7. 7

    将数据传递到导航控制器中的另一个视图控制器

  8. 8

    如何通过单击表视图控制器中的单元格来生成视图控制器

  9. 9

    如何从另一个视图控制器实例化导航控制器?

  10. 10

    如何在表格视图单元格中获取文本字段文本,该表格视图位于 swift 4 中的另一个表格视图控制器中?

  11. 11

    单击一个视图控制器中的按钮将在另一个视图控制器中进度条

  12. 12

    如何在集合视图控制器上添加另一个滚动视图?

  13. 13

    如何在集合视图控制器上添加另一个滚动视图?

  14. 14

    如何在另一个视图控制器中检查按钮状态

  15. 15

    Xamarin IOS导航到xamarin上没有按钮的另一个视图控制器

  16. 16

    如何将数据从一个视图控制器传递到导航控制器中嵌入的另一个视图控制器

  17. 17

    如何通过控制器返回另一个控制器的局部视图?

  18. 18

    如何将按钮从一个视图控制器隐藏到另一个

  19. 19

    如何从不同的集合视图单元格选择到不同的视图控制器

  20. 20

    如何将信息从一个视图控制器中的表视图单元传递到另一视图控制器?

  21. 21

    将多个选定表单元格中的数组传递到下一个视图控制器

  22. 22

    表格视图中的单元格单击无法快速导航到新控制器

  23. 23

    通过快速开关禁用另一个视图控制器上的按钮

  24. 24

    如何使集合视图中的不同单元格进入Swift中的不同视图控制器

  25. 25

    单元格中的按钮并移动视图控制器

  26. 26

    如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

  27. 27

    弹出导航控制器层次结构中的另一个视图控制器

  28. 28

    如何关闭当前的视图控制器并在iOS中推送另一个视图控制器

  29. 29

    如何从另一个视图控制器访问按钮?

热门标签

归档