gpt4 book ai didi

ios - UISegmentedControl subview 未出现

转载 作者:行者123 更新时间:2023-11-28 11:43:38 24 4
gpt4 key购买 nike

我正在尝试使用 UISegmentedControl 在三个 View 之间切换。我在主视图 Controller 的容器 View 中有第一个 View 。然后我在单独的 View Controller 上创建了另外两个 View 。我在主视图 Controller 的容器中为这两个 View 编写了 subview 。

我遇到的问题是,当我切换分段控件时,后两个 View 不会显示。该段会更改容器并隐藏第一个 View ,但不会出现后两个 View 。

当我通过 .xib 文件创建第二个两个 View 时,我能够使用此方法。问题是现在我将它们作为 Storyboard上的 View Controller 。

代码如下:

@IBOutlet var segment: UISegmentedControl!

@IBOutlet var detailsView: UIView!

@IBOutlet var segmentView: UIView!
var viewTwo: UIView!
var viewThree: UIView!

@IBAction func segmentChange(_ sender: Any) {

switch(segment.selectedSegmentIndex) {

case 0:

detailsView.isHidden = false
segmentView.isHidden = true

break

case 1:

detailsView.isHidden = true
segmentView.isHidden = false
segmentView.bringSubviewToFront(viewTwo)

break

case 2:

detailsView.isHidden = true
segmentView.isHidden = false
segmentView.bringSubviewToFront(viewThree)

break

default:
detailsView.isHidden = false
segmentView.isHidden = true
break

}

}


override func viewDidLoad() {
super.viewDidLoad()

viewTwo = ShowtimesView().view
segmentView.addSubview(viewTwo)
viewThree = ReviewsView().view
segmentView.addSubview(viewThree)


}

最佳答案

问题是您说的是 ShowtimesView().view 之类的内容。那不是如何从 Storyboard加载 View Controller !您需要与 Storyboard对话并实例化 View Controller 。

然而,即便如此,你所做的也是完全错误的。您不能使用 View Controller 对其 View 和随意查看您的界面的内容进行“垃圾箱潜水”。您必须使自己成为自定义父 View Controller ,并使另一个 View Controller 成为您的 child 。有一个正式的舞蹈你必须跳,而你没有跳。

关于ios - UISegmentedControl subview 未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52961069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com