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