我创建了一个底部工作表,在底部工作表中我添加了一个按钮来调用另一个子视图。调用第二个子视图的代码是:
func addSettings() {
let settingsVC = SettingsViewController()
if !settingsVC.view.isDescendant(of: self.view) {
self.addChildViewController(settingsVC)
self.view.addSubview(settingsVC.view)
settingsVC.didMove(toParentViewController: self)
// 3- Adjust bottomSheet frame and initial position.
let height = view.frame.height
let width = view.frame.width
settingsVC.view.frame = CGRect(x:0, y:self.view.frame.maxY, width: width, height: height)
} else {
// 2- Add bottomSheetVC as a child view
settingsVC.view.removeFromSuperview()
}
}
每当我调用此函数时,它会添加另一个子视图。如果我再次按下该按钮并再次调用此功能,则会添加另一个SettingsViewController,每次单击该按钮时都会重复此操作。
理想情况下,我希望此函数检查SettingsViewController子视图是否已存在,如果确实存在,则不添加其他子视图。
有什么想法吗?