Ios swift-在tableviewcell中设置故事板
我正在尝试开发一个显示命令的Ios swift-在tableviewcell中设置故事板,ios,swift,uitableview,Ios,Swift,Uitableview,我正在尝试开发一个显示命令的TableViewController。表中的每个单元格都是一个collectionView,但我想知道是否可以通过编程实例化故事板,并将初始控制器(collectionViewController)传递给UITableViewCell中的collectionView 问题是:我可以在tableViewCell中放置一个故事板,这样我就可以在该单元格中导航并做一些事情吗 解决方案 override func tableView(_ tableView: UITab
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
}
使用
情节提要
是一个自定义情节提要,navigationController作为其第一个控制器您可以在任何UIView
中打开InstanceViewController
,如果您想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)
我希望这将帮助您您可以在任何
UIView
中打开UITableCell
,如果您想实例化在其contentView
中打开的UITableCell
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)
我希望这将对您有所帮助谢谢,这在语法上做了一些更改后效果很好,我在
vc
中添加了一个按钮,因此当我单击它时,它应该导航到一个新的控制器,确实如此,但它在主视图中显示了新控制器,而不是在表格中。只需使用NavigationController不persentnavigator推送ViewController即可。推送ViewController(ViewController,动画:true)
即可,请确保您的控制器已连接到情节提要中的navigationController访问此按钮以推送视图,我希望这将对您有所帮助。是的,当我将导航控制器作为自定义情节提要中的第一个控制器嵌入时,它起到了作用谢谢,这在语法上做了一些更改后效果很好,我在vc
中添加了一个按钮,因此当我点击它时,它应该导航到一个新的控制器,但它在主视图中显示了新的控制器,而不是在表格中。只需使用NavigationController不persentnavigator按下ViewController。按下ViewController(ViewController,动画:true)
即可工作,请确保您的控制器已连接到情节提要中的navigationController访问此按钮以推送视图,我希望这将对您有所帮助。是的,当我将导航控制器作为自定义情节提要中的第一个控制器嵌入时,它起到了作用