2014-07-20 115 views
1

我刚刚在视图控制器中设置了两个视图,并且我试图在按下按钮时从一个视图切换到另一个视图。出于某种原因,当我按下按钮时,似乎一个视图按预期消失,但另一个视图不会出现在它的位置。视图控制器中没有出现第二个视图

我有两个观点IBOutlets - budgetDisplayView,budgetEntryView

当按下按钮,这个代码是跑:

 budgetEntryView.hidden = true 
     budgetDisplayView.hidden = false 

我以为这会是这么简单,但我只是得到按下按钮时出现空白屏幕。

关于为什么第二个视图没有出现的任何想法?

+1

'budgetDisplayView'可能有问题。尝试使它在Interface Builder中可见,然后运行,看看你是否可以看到它。还要确保你没有真正把它放在另一个视图内;如果你这样做,隐藏一个会隐藏另一个。 (如果这不是Swift,我猜想IBOutlet从来没有正确地连接过,但我认为Swift不会让你犯这个错误;如果'budgetDisplayView'为零,你会得到一个有用的崩溃。) – matt

+0

谢谢很多!我确定我已经检查过budgetDisplayView不在budgetEntryView中,但事实证明它是。 – user3746428

回答

1

我认为viewA包含viewB所以当你隐藏viewA它也隐藏viewB

enter image description here

所以如上图片,当你隐藏redView它会隐藏blueView

enter image description here

它应该是相同的herirachy像上面image.In这种情况下,如果你隐藏redVew,而不是隐藏blueView被隐藏,blueView仍然可见。如果您在界面生成器中移动视图,它会自动添加为子视图到InterfaceBuilder中的下图视图中。使用inst ead size Inspector在这种情况下在界面生成器中定位视图。

+0

非常感谢!我确定我已经检查过budgetDisplayView不在budgetEntryView中,但事实证明它是。 – user3746428

相关问题