IOS:带有子视图的UIView当zPosition视图发生变化时,按钮点击事件不会触发

时间:2017-03-08 10:16:22

标签: ios swift

我在我的应用中使用父视图控制器和子视图控制器。其中父视图控制器包含子视图为zPosition值为2的按钮。

现在,我正在将子视图控制器添加到父级,如下所示

    func addChildViewController(){

        let storyboard = UIStoryboard(name: "myStoryBoard", bundle: nil)
        let childVC = storyboard.instantiateViewController(withIdentifier: "childVC") as! ChildViewController        
        addChildViewController(childVC)
        self.view.addSubview(childVC.view)
        childVC.didMove(toParentViewController: self)
     }

按钮子视图在子视图控制器的顶部可见,但点击事件未触发。

注意:我没有在子视图控制器上添加按钮作为子视图,仅在父视图控制器上添加。

1 个答案:

答案 0 :(得分:2)

childVC是否覆盖按钮? - 添加childVC后,您需要确保带有按钮的子视图移动到前面。

func addChildViewController(){
    let storyboard = UIStoryboard(name: "myStoryBoard", bundle: nil)
    let childVC = storyboard.instantiateViewController(withIdentifier: "childVC") as! ChildViewController        
    addChildViewController(childVC)
    self.view.addSubview(childVC.view)
    childVC.didMove(toParentViewController: self)

    // Bring button subview to front
    self.view.bringSubviewToFront(SubViewWithButtonIn)

}