gpt4 book ai didi

ios - 如何执行从 UIView 到 ViewController 的导航

转载 作者:行者123 更新时间:2023-11-30 11:04:45 25 4
gpt4 key购买 nike

在我的主屏幕中有多个 UICollectionView 部分,因此我为每个部分(UICollectionViews)使用单独的 - 单独的 View (xib)现在我必须执行导航(didSelectItemAt),即使没有错误,我也无法执行它

我使用以下代码进行导航(didSelectItemAt)

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let vc = UIStoryboard.init(name: "ProductListing", bundle: Bundle.main).instantiateViewController(withIdentifier: "ProductListingViewController") as? ProductListingViewController
(superview?.next as? ProductListingViewController)?.navigationController?.pushViewController(vc!, animated: true)}

最佳答案

您可以为此使用回调

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

var didSelectCallback: (() -> Void)?

然后在collectionViewdidSelectItem委托(delegate)方法中写入:

if let callBack = didSelectCallback {
callBack()
}

然后在 Controller 中添加此 collectionView View 时添加此回调:

yourView.didSelectCallback = { [weak self] in 
guard let weakSelf = self else {return}
let vc = UIStoryboard.init(name: "ProductListing", bundle: Bundle.main).instantiateViewController(withIdentifier: "ProductListingViewController") as? ProductListingViewController
weakSelf.navigationController?.pushViewController(vc!, animated: true)}
}

关于ios - 如何执行从 UIView 到 ViewController 的导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52848611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com