Swift 视图中的按钮不显示';无法从视图容器中工作

Swift 视图中的按钮不显示';无法从视图容器中工作,swift,uiview,Swift,Uiview,我的视图控制器中有一个视图容器,它被拉伸到整个屏幕。已启用用户交互,但处于启用状态。当我通过此视图控制器中的此视图容器打开另一个视图时,按钮可单击但不响应。我该怎么做才能让它工作 视图控制器: class ViewController: UIViewController { @IBOutlet weak var viewContainer: UIView! var views: [UIView]! override func viewDidLoad() { super.viewDi

我的视图控制器中有一个视图容器,它被拉伸到整个屏幕。已启用用户交互,但处于启用状态。当我通过此视图控制器中的此视图容器打开另一个视图时,按钮可单击但不响应。我该怎么做才能让它工作

视图控制器:

class ViewController: UIViewController {

@IBOutlet weak var viewContainer: UIView!

var views: [UIView]!

override func viewDidLoad() {
    super.viewDidLoad()

    views = [UIView]()
    views.append(LoginVC().view)
    views.append(RegisterVC().view)

    for v in views{
        viewContainer.addSubview(v)
    }

    viewContainer.bringSubview(toFront: views[1])
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func switchViewAction(_ sender: UISegmentedControl) {
    print("clicked - segment")
    self.viewContainer.bringSubview(toFront: views[sender.selectedSegmentIndex])
}

这是另一个视图中的按钮

@IBAction func registerTapped(_ sender: UIButton) {
    print("Clicked - register")
}

我使用教程使其工作。

您必须更换整个
视图控制器,而不仅仅是
视图

@IBAction func switchViewAction(_ sender: UISegmentedControl) {
    self.viewContainer.bringSubview(toFront: views[sender.selectedSegmentIndex])
}
您当前的代码只是将
LoginVC
视图替换为
RegisterVC
视图,而不是将
LoginVC
替换为
RegisterVC
。当您这样做时,您会留下负责实际响应任何交互的
ViewController


您必须重新编写代码以跟踪ViewController,而不仅仅是它们的视图。然后,当您需要更改当前视图时,不应将所有视图添加到
viewContainer
并将其移动到前面,而应将您的子ViewController(嵌入容器中的ViewController)设置为要显示的ViewController(要么
LoginVC
要么
RegisterVC
).

请分享您的代码。@Khushbu添加了一些代码。