我正在尝试开发一个显示命令的TableViewController
。表的每个单元格都是一个collectionView
,但我想知道我是否可以以编程方式实例化故事板并将初始控制器(collectionViewController
(传递给UITableViewCell
中的该collectionView
这是我正在尝试做的模式。
问题是:我可以在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
是一个自定义情节提要,其中导航控制器作为其第一个控制器
instantiateViewController
UITableCell
打开UIView
,您可以在任何中打开ViewController
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)
我希望这会对您有所帮助