如何正确地创建包含一些 viewControllers 的容器视图(以编程方式) ?

By simon at 11 天前 • 0人收藏 • 6人看过

我想以编程方式创建一个容器视图,其中包含一组视图控制器。 我有一个分段控制器,当用户点击一个按钮,它应该显示一个特定的视图控制器,而不是做一个转接。 我有一个视图控制器内的一切,我想知道如何正确地使分段控制器显示一定的视图控制器时点击。

(){ let seg UISegmentedControl (items: ["1","2","3"]) seg.selectedSegmentIndex 0 seg.translatesAutoresizingMaskIntoConstraints false seg.layer.backgroundcolor UIColor.white seg.addTarget (self,action: # (changeccolor (sender:)) ,for:. 句子太长,请短一点
2 个回复 | 最后更新于 11 天前
11 天前   #1

在每个片段的内部动作

首先让 FirstViewController () / / 使它成为一个实例 var self.addChild (first) first.view.frame / / some frame self.view.addSubview (first) first.didMove (toParent: self)

最好还是把它设置成一个实例变量,因为不要在每次单击该片段时都添加它并进行检查

如果 self.children.contains (其中: $0是 FirstViewController }){ / / exists move first.view to front } else { / / add it }
11 天前   #2

要以编程方式向容器视图添加视图控制器,需要调用Addsubview及Didmove除... 之外Addchild.

让 firstViewController firstViewController () addChild (firstViewController) containerView.addSubview (firstViewController.view) / / / 用应该包含 VC 的视图 firstViewController.didmove (to parent: self)的视图名替换'containerView'

登录后方可回帖

Loading...