gpt4 book ai didi

swift - 将 UIViewController 添加到 UICollectionViewCell

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

我读了很多 Stackoverflow,但我不知道该怎么做。

我想将一个 UIViewController 添加到具有四个不同单元格的 UICollectionViewCell 中,其中一个单元格的 View 非常复杂并且数据不断变化,因此我想要将 Controller 添加到此 View 。

我不知道如何将 UIViewController 添加到 Cell,因为没有 addChildViewController

我的 View Controller :

class ViewController1: UIViewController {


override func viewDidLoad() {
super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

}

我的 CollectionViewCell:

class CollectionViewCell1: UICollectionViewCell {


lazy var viewController: ViewController1 = {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "ViewController1") as! ViewController1
return vc
}()

override init(frame: CGRect) {
super .init(frame: frame)
print("Initiatetd")
setUpViews()


}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been impemented")
}

func setUpViews() {
addSubview(viewController.view)
let views: [String: Any] = ["viewController": viewController]
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[viewController]|", options: [], metrics: nil, views: views))
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-[viewController]-|", options: [], metrics: nil, views: views))
}
}

我收到此错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[App. ViewController1 nsli_superitem]: unrecognized selector sent to instance 0x7fb08df28ea0'

最佳答案

您无法将 View Controller 添加到这样的单元格中。为了做你想做的事情,你需要使用容器 View 。文档说:

Container View defines a region within a view controller's view subgraph that can include a child view controller.

只需将容器 View 添加到您的单元格(从 Storyboard )。

要将容器 View 连接到 View Controller (其中有单元格),您需要创建一个嵌入转场。要将数据发送到 prepare(forSegue:) 中的 View Controller ,您需要检查目的地并执行您需要的操作。

关于swift - 将 UIViewController 添加到 UICollectionViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50665544/

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