0

我为我的应用创建了一个故事板,其中包含以下内容:

  1. 我的故事板上的初始视图控制器是一个标签栏控制器(我们称之为 myTabCtrlr)
  2. myTabCtrlr 具有指向其他几个控制器的前向 segues:第一个 segue 指向一个自定义 UIViewController(我们称之为 vc1),我在其上创建了一个最初隐藏的交互式 UIView(我们称之为 popview1)。vc1 的视图上有一个按钮(我们称之为showPopView1),单击该按钮将显示popview1 b。第二个segue指向一个导航控制器,它嵌入了一个带有3个按钮的视图控制器,每个按钮都指向一个(结束)控制器。C。第三个 segue 指向另一个具有与 (b) 类似设置的导航控制器

在其中几个(结束)控制器上,有一个类似于 vc1 的 showPopView1 的按钮,当点击它时,我想切换回 vc1 并以编程方式调出 popview1,我正在执行以下操作(但它不起作用):

myTabCtrlr.selectedIndex = 0;
//I get a handle to vc1 then
vc1.popview1.hidden = NO;

当我这样做时,它会返回第一个选项卡并显示 vc1 视图(这很好),但它不显示 popview1。我尝试了许多不同的方法来做到这一点,但没有运气。

请注意,如果我实际上在 vc1 上并点击 showPopView1 按钮,那么 popview1 会正常出现。有谁知道为什么会这样?这只是在我过渡到使用故事板之后才开始的。谢谢。

4

1 回答 1

0

在花了几个小时研究解决这个问题的各种方法,并专注于反向 segues 和类似方法之后,我能够使用一种完全不同的方法来解决它。我想与其他人分享这个,所以没有人会浪费这么多他们的时间(虽然我注意到对我的帖子的反应很慢。也许我没有让这个主题足够吸引人:).. 这是一个非常简单的解决方案,但非常有效。我使用了单例模式对象。当来自其余选项卡时,我在 vc1 在其 viewWillAppear 方法中检查的单例中设置了一个标志,显示 popview1,并立即重置标志.. 就像一个魅力!

于 2013-10-07T01:28:05.587 回答