【发布时间】:2018-06-03 10:47:47
【问题描述】:
我阅读了很多 Stackoverflow,但我不知道该怎么做。
我想将UIViewController 添加到具有四个不同单元格的UICollectionViewCell 中,其中一个单元格的视图非常复杂,并且数据不断变化,因此我想在此视图中添加一个控制器。
我不知道如何将UIViewController 添加到单元格中,因为没有addChildViewController。
我的视图控制器:
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))
}
}
我收到此错误:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'-[App.视图控制器1 nsli_superitem]:发送到实例的无法识别的选择器 0x7fb08df28ea0'
【问题讨论】:
-
错误发生在哪一行?添加异常断点以查找导致崩溃的代码行。
-
感谢您在我想将其添加为子视图时回答
标签: swift uiviewcontroller uicollectionview uicollectionviewcell