【发布时间】:2018-11-09 04:54:04
【问题描述】:
我有这个故事板:
var actualVisibleView : String? = nil
func showSubViewInContainerView(view: String, parms: String?){
let controller = storyboard!.instantiateViewController(withIdentifier: view)
systemContainerView.subviews.forEach { $0.removeFromSuperview() }
systemContainerView.addSubview(controller.view)
if view == "ConceptGalleryView" {
}
addChildViewController(controller)
controller.view.translatesAutoresizingMaskIntoConstraints = false
systemContainerView.addSubview(controller.view)
NSLayoutConstraint.activate([
controller.view.leadingAnchor.constraint(equalTo: systemContainerView.leadingAnchor),
controller.view.trailingAnchor.constraint(equalTo: systemContainerView.trailingAnchor),
controller.view.topAnchor.constraint(equalTo: systemContainerView.topAnchor),
controller.view.bottomAnchor.constraint(equalTo: systemContainerView.bottomAnchor)
])
controller.didMove(toParentViewController: self)
self.actualVisibleView = view
print("OPEN: \(view)")
}
从左侧菜单中,我使用代码在此容器视图中打开各种视图:
showSubViewInContainerView(view: "View1", parms: "1")
showSubViewInContainerView(view: "View2", parms: "2")
showSubViewInContainerView(view: "View3", parms: "3")
showSubViewInContainerView(view: "View4", parms: nil)
例如,我调用了 ConceptGalleryView.swift:
var idGallery = 0
override func viewDidLoad() {
super.viewDidLoad()
}
如何保存 showSubViewInContainerView 函数中的 idGallery 参数 - 参数?
【问题讨论】:
-
您正在实例化视图控制器,但提到了视图。这怎么可能?除了你的 ConceptGalleryView 有 viewDidLoad 方法。也不可能。您的 ConceptGalleryView 实际上是 UIViewController 或 UIView 的子类吗?