【发布时间】:2013-01-11 05:36:01
【问题描述】:
所有, 我正在尝试根据当前显示的视图控制器的身份执行 segues。本质上,我已经给出了我的 VC 的故事板 ID,现在想在代码中访问它们。所以,基本上我想要一些逻辑,如果现有的视图控制器是第一个,我想执行 firstSegue,如果它是第二个,我想执行 secondSegue 等等。此外,我的 VC 是导航控制器的一部分,我知道导航控制器有一个属性,我可以在其中查看当前视图控制器或类似的东西。但我不确定那是什么。有人可以帮帮我吗?同样,我预见我的代码类似于:
(IBAction)firstButtonPressed:(id)sender
{ if (presentviewcontroller ==a) // If the current view controller Is A
{
[self performSegueWithIdentifier:@"segueA" sender:self];}
if(storyboard.viewcontroller==b)//If the current view controller is B
{
[self.performSegueWithIdentifier:@"segueB" sender:self];}
}
有人可以帮我写一些代码吗?
【问题讨论】:
-
我不明白这个问题。该方法 firstButtonPressed 位于已知控制器中,您不需要任何 if。如果此代码在控制器 A 中,则执行 segueA,如果在控制器 B 中,则执行 segueB。
-
@rdelmar 代码位于 A 和 B 继承的超级控制器中,因此我需要指定如果我在 A 中或在 B 中会发生什么。
-
我认为这与您提出的另一个问题相似,并且您的故事板中有几个控制器都继承自一个共同的父级,对吗?这些控制器中的每一个是只有一个转场,还是与其他控制器有多个转场?
-
@rdelmar 没错,所有 VC 都继承自一个通用 VC。这些 VC 中的每一个都有多个 segue。
-
这些转场是从按钮到其他控制器还是从视图控制器本身(所以你可以在代码中启动转场)?
标签: ios uibutton uistoryboard segue uistoryboardsegue