Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我有一个带有2个容器的uiviewcontroller。如何区分swift中当前可见的代码?_Ios_Swift_Uiviewcontroller_Uicontainerview - Fatal编程技术网

Ios 我有一个带有2个容器的uiviewcontroller。如何区分swift中当前可见的代码?

Ios 我有一个带有2个容器的uiviewcontroller。如何区分swift中当前可见的代码?,ios,swift,uiviewcontroller,uicontainerview,Ios,Swift,Uiviewcontroller,Uicontainerview,我有一个带有两个容器的UIViewController。每个容器都包含一个UIViewController。在父视图控制器上,我有一个分段控件,可让用户决定当前应显示哪个控制器: @IBOutlet weak var firstView: UIView! @IBOutlet weak var secondView: UIView! @IBAction func indexChanged(sender: UISegmentedControl) { switch segmentedContr

我有一个带有两个容器的
UIViewController
。每个容器都包含一个
UIViewController
。在父视图控制器上,我有一个分段控件,可让用户决定当前应显示哪个控制器:

@IBOutlet weak var firstView: UIView!
@IBOutlet weak var secondView: UIView!
@IBAction func indexChanged(sender: UISegmentedControl) {
    switch segmentedControl.selectedSegmentIndex {
    case 0:
        firstView.hidden = true
        secondView.hidden = false
    case 1:
        firstView.hidden = false
        secondView.hidden = true
    default:
        break;
    }

}
现在,在两个嵌入式UIViewController中,我都有一个viewDidLoad函数:

override func viewDidLoad(){
    print("first container")
以及:

我的问题是:当用户进入父视图控制器时,他立即在控制台中看到:

first container
second container
即使只有第一个容器可见,而第二个容器不可见

我想区分当前可见的容器,这样当用户进入父视图控制器并看到第一个容器时,他应该只在控制台中看到第一个容器。点击分段控件后,他应该会看到第二个容器,依此类推


我试图在
视图中添加这些打印,但它们会同时加载。我应该如何修改我的代码以达到这样的效果?

您是否尝试过使用
viewdispect()
?视图在显示之前加载,分段控制器在启动时加载是默认行为。嘿,谢谢,我刚刚试过使用
viewDidAppear
,但是行为是一样的-它同时加载两个容器,然后在我切换容器时什么也不显示…也许你可以在这一边检查:
隐藏的
视图在加载时是
出现的
?@zcui93是的,在这种情况下显然是真实的:(
first container
second container