Я много читаю Stackoverflow, но не могу понять, как это сделать.
Жезл, чтобы добавить UIViewController
к UICollectionViewCell
с четырьмя различными ячейками, вид одной изЯчейки довольно сложны, и данные постоянно меняются, поэтому я хочу добавить контроллер к этому представлению.
Я не мог понять, как добавить UIViewController
в ячейку, так как addChildViewController
.
Мой ViewController:
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», причина: «- [Приложение.ViewController1 nsli_superitem]: нераспознанный селектор отправлен в экземпляр 0x7fb08df28ea0 '