从具有父navigationController的collectionViewController中的单元格中查看

时间:2017-01-24 22:54:40

标签: ios swift uicollectionview segue

我正在考虑在应用程序中使用collectionView作为菜单。我希望菜单有一个导航控制器,以便用户知道它们在菜单中,并且可以在菜单和从菜单中选择的页面之间前进和后退。

然而,由于我以编程方式创建了collectionView,因此在运行时创建单元格时,似乎无法使用“show”segue。

接口

enter image description here

运行

enter image description here

有没有办法继续使用此菜单的导航栏?

我以前使用静态tableview,每个单元格中的segue到所需的页面。我已经将一堆代码绑定到每个名为segue的代码中,因此我不愿意改变。

enter image description here

旧桌面视图上使用segue的代码

类MenuTable:UITableViewController {

weak var centerButtonDelegate: ManageCenterButtonDelegate?

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "segueTour" {
        fadeOutDelegate()
    }

2 个答案:

答案 0 :(得分:1)

我认为如果要将UICollectionViewCell链接到新的ViewController,你应该以编程方式执行segue,它们更容易控制,也可能在故事板中设置错误。

在tableView委托方法'selectedRowAt:IndexPath'中,你应该执行switch语句并在那里执行segue。像这样:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    switch indexPath.item {
    case 0:
        //perfrom segue
         performSegue("mySegue", sender: self)
    default:
        break
    }
}

答案 1 :(得分:0)

选择或点击单元格(或者您要检测此单元格)时,创建下一个视图控制器并将其适当地配置到该单元格,然后调用show