【问题标题】:Can you read the storyboard segue identifier in the receiving view你能在接收视图中阅读故事板segue标识符吗
【发布时间】:2015-10-26 04:20:39
【问题描述】:

我使用情节提要在场景 1 和场景 2 之间创建了一个 segue。场景 1 有一个带有多个按钮的视图控制器,其中每个按钮代表要在场景 2 的视图控制器中执行的特定操作。我有单独的控制 -在场景 1 视图控制器上的每个按钮之间拖动,为场景 2 中的视图控制器创建一个动作转场。然后,我为每个转场动作创建了一个唯一的转场标识符。所以问题是——>scene2 中的视图控制器(比如在 viewDidLoad() 中)是否有可能确定导致 segue 的 segue 标识符是什么?

我已经熟悉使用 performSegueWithIdentifier:sender 在视图控制器之间传递数据,但是由于 Storyboard 已经使 segue 在按下按钮时无需编写代码就可以发生,我希望 segue 标识符可以在接收视图控制器。再说一遍,scene2 中的视图控制器(比如在 viewDidLoad() 中)是否有可能确定导致 segue 的 segue 标识符是什么?

【问题讨论】:

    标签: ios segue uistoryboard uistoryboardsegue


    【解决方案1】:

    我猜你正在寻找以下方法

    • (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { DestinationViewController *dvc = segue.destinationViewController; dvc.segueIdentifier = segue.identifier; if ([segue.identifier isEqualToString:@"Button 1"]) { // } }

    【讨论】:

    • 不,prepareForSegue 用于segue 的源端,可用于向目的地发送数据。我希望有一种方法可以在目的地读取 segue 标识符
    • 好吧,几个星期后,没有人指出在目标视图控制器上读取 segue 标识符的方法。因此,使用 prepareForSegue 接口将 segue.identifier 存储在与目标视图控制器关联的 ivar 中(如您所建议的)是解决此问题的唯一方法。
    猜你喜欢
    • 2014-01-23
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 2014-05-16
    • 2012-11-26
    相关资源
    最近更新 更多