AddSubview添加多个子视图

时间:2017-03-30 03:48:51

标签: swift parent-child subview

我创建了一个底部工作表,在底部工作表中我添加了一个按钮来调用另一个子视图。调用第二个子视图的代码是:

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子视图是否已存在,如果确实存在,则不添加其他子视图。

有什么想法吗?

0 个答案:

没有答案