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添加了一些代码。