如何执行从UIView到ViewController的导航

时间:2018-10-17 06:36:00

标签: ios swift uiview uinavigationcontroller

在我的主屏幕中,有多个UICollectionView部分,因此我为每个部分(xib s使用了单独的单独视图(UICollectionView),现在我必须执行导航({{ 1}})即使没有错误,我也无法执行

我在导航下使用用户代码(didSelectItemAt

didSelectItemAt

3 个答案:

答案 0 :(得分:0)

尝试以下方法:

let storyboard = UIStoryboard(name: "ProductListing", bundle: nil)
let productListingVC = storyboard.instantiateViewController(withIdentifier: "ProductListingViewController")
self.present(productListingVC, animated: true, completion: nil)

答案 1 :(得分:0)

更好的方式将从视图发送回调到ViewController并从中执行导航,如下所示:

class View: UIView {
     var didTapSomething: () -> Void
}

并在ViewController中:

class ViewController: UIViewController {
    @IBOutlet var view: View!

    override func viewDidload() {
       super.viewDidLoad()
       view.didTapSomething = {
          //perform navigation
       }
    }
}

答案 2 :(得分:0)

您可以为此使用callbacks

在您的collectionView View中添加此回调:

var didSelectCallback: (() -> Void)?

然后在didSelectItem的{​​{1}}委托方法中编写:

collectionView

然后在控制器中添加此if let callBack = didSelectCallback { callBack() } 时添加此回调:

collectionView View