gpt4 book ai didi

ios - 从其他 subview 加载 ViewController 作为主视图中的 subview

转载 作者:行者123 更新时间:2023-11-29 00:31:21 24 4
gpt4 key购买 nike

我正在使用 swift3/xcode 8 编写一个应用程序。我的应用程序有一个中央 View Controller ,称为 MenuViewController,它负责侧边菜单。在这个里面,我将其他 View 加载为 subview ,这样我就可以在所有其他 View 中使用侧边菜单。

但我现在有疑问:在一个特定的 View Controller 中,我有一个 TableView ,它有一个方法来执行选择项目的操作。这个 Action 调用其他查看并传递参数。

那么,如何使用此参数将此 View 加载到 BaseViewController 中?可能吗?

如果不清楚请告诉我......

谢谢!

更新 1:

我正在使用一个我觉得很有趣的解决方案: Cocoacasts

基本上我在 MenuViewController 上有这段代码:

在 MenuViewController 中声明要加载的 View :

    lazy var filamentoViewController: FilamentoViewController = {

let storyboard = storyboard.instantiateViewController(withIdentifier: "FilamentoViewController") as! FilamentoViewController
self.addViewControllerAsChildViewController(childViewController: viewController)
return viewController
}()

在 MenuViewController 中添加 View Controller 作为 subview :

    private fun addViewControllerAsChildViewController(childViewController: UIViewController)
{
addChildViewController(childViewController)
view.addSubView(childViewController.view)
childViewController.view.frame = view.bounds
childViewController.view.autoResizingMask = [.flexibleWidth, .flexibleHeight]
childViewController.didMove(toParentViewController: self)
}

FilamentoViewController 中调用其他 View Controller 的代码:

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath)
{
let editFilamentoViewController:EditFilamentoViewController = EditFilamentoViewController()
editFilamentoViewController.cod = indexPath.row
self.presentViewController(editFilamentoViewController, animated: true, completion: nil)
}

代码

      self.presentViewController(editFilamentoViewController, animated: true, completion: nil)

是我想要加载到 MenuViewController 中的那个。

更新 2:

MenuViewController 是一个 CentreViewController。我在中间加载其他 View ,菜单来自左侧。

最佳答案

有一个内置 Controller 可以满足您的需求(即 UISplitViewController),您考虑过吗?

Apple documentation

Sample Tutorial

还有滑出式菜单库。

slide out menu

关于ios - 从其他 subview 加载 ViewController 作为主视图中的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41695929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com