我正在尝试开发一个显示命令的TableViewController
。该表的每个单元格都是collectionView
,但我想知道我是否可以通过编程方式实例化故事板并将初始控制器(collectionViewController
)传递给collectionView
内的UITableViewCell
}
this a schema of what I'm trying to do
问题是:我可以在tableViewCell
内放置一个故事板,以便我可以在该单元格内导航并执行操作吗?
溶液
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
let st = UIStoryboard(name: "Storyboard", bundle: nil)
let vc = st.instantiateInitialViewController() as! UINavigationController
self.addChildViewController(vc)
vc.view.frame = CGRect(x:0, y:0,width: cell.contentView.frame.size.width, height: 40);
cell.contentView.addSubview((vc.view)!)
vc.didMove(toParentViewController: self)
return cell
}
带有Storyboard
的是一个自定义故事板,其中navigationController是第一个控制器
答案 0 :(得分:0)
如果您想在ViewController
UIView
instantiateViewController
,可以在任何UITableCell
内打开contentView
let vc = self.storyboard.instantiateViewController(withIdentifier: "someViewController")
self.addChildViewController(vc)
vc.view.frame = CGRectMake(0, 0, cell.contentView.frame.size.width, self.container.frame.size.height);
cell.contentView.addSubview(vc.view)
vc.didMoveToParentViewController(self)
我希望这会对你有所帮助