如何加载 child 视图控制器或容器视图 - Swift
how to load child view controllers or container views - Swift
使用分段控制器在每个容器视图之间切换时,显示每个容器视图没有问题。我确实遇到的问题是,每当 parent 视图加载时,蓝色和绿色容器视图也会加载。
我希望蓝色与 parent 视图控制器一起加载,而绿色仅在切换分段控件时加载。有什么想法吗?
- 加载是指调用 viewDidLoad、ViewDidAppear、ViewDidlayoutSubviews 等
override fund viewDidload() {
super.viewdidload()
let child = GreenViewController()
addChild(child)
child.view.frame = frame
view.addSubview(child.view)
child.didMove(toParent: self)
}
我尝试使用上面的代码,但它似乎没有什么不同,因为一旦 parent 加载
,两个 child 视图控制器的加载仍然加载
据我所知,有 2 个容器视图,您希望在第一个分段时看到蓝色视图,而在第二个分段时您希望看到绿色视图,如果是这样的话,解决方案是这样的;
您应该初始化 uivew(按住 ctrl 并将其拖动到 viewcontroller 以获得蓝色和绿色容器视图)(您需要添加 2 个不同的容器视图)并写入
if segmented.selectedIndex == 0 {
greenView.isHidden = true
blueView.isHidden = false
} else if segmented.selectedIndex == 1 {
greenView.isHidden = false
blueView.isHidden = true
}
使用分段控制器在每个容器视图之间切换时,显示每个容器视图没有问题。我确实遇到的问题是,每当 parent 视图加载时,蓝色和绿色容器视图也会加载。
我希望蓝色与 parent 视图控制器一起加载,而绿色仅在切换分段控件时加载。有什么想法吗?
- 加载是指调用 viewDidLoad、ViewDidAppear、ViewDidlayoutSubviews 等
override fund viewDidload() {
super.viewdidload()
let child = GreenViewController()
addChild(child)
child.view.frame = frame
view.addSubview(child.view)
child.didMove(toParent: self)
}
我尝试使用上面的代码,但它似乎没有什么不同,因为一旦 parent 加载
,两个 child 视图控制器的加载仍然加载据我所知,有 2 个容器视图,您希望在第一个分段时看到蓝色视图,而在第二个分段时您希望看到绿色视图,如果是这样的话,解决方案是这样的;
您应该初始化 uivew(按住 ctrl 并将其拖动到 viewcontroller 以获得蓝色和绿色容器视图)(您需要添加 2 个不同的容器视图)并写入
if segmented.selectedIndex == 0 {
greenView.isHidden = true
blueView.isHidden = false
} else if segmented.selectedIndex == 1 {
greenView.isHidden = false
blueView.isHidden = true
}