【问题标题】:Is it possible to get a UIButton to change a segue identifier for another button?是否可以让 UIButton 更改另一个按钮的 segue 标识符?
【发布时间】:2015-11-13 09:33:13
【问题描述】:

我有一个按钮(比如按钮“A”),它通过模态 segue 链接到另一个视图控制器,并且该 segue 有一个标识符来传递有关使用该方法的信息:

prepareForSegue

现在我想在我的第一个视图控制器中添加另一个按钮(比如按钮“B”),当按下该按钮时,它将简单地更改上一个按钮(按钮“A”)的 segue 标识符。这样我仍然可以使用 prepareForSegue 但传递了不同的数据。

这可能吗??

【问题讨论】:

  • 不是直接从按钮进行转场,而是从视图控制器获得转场,当按下按钮时,使用带有标识符的转场进行相应处理
  • 嗨,谢谢,这很有帮助 - 但是你如何创建从视图控制器到视图控制器的 segue,它必须以编程方式进行吗?此外,我无法找到有关目标 c 的“使用标识符执行 Segue”方法的信息!
  • 我连接了两个VC,但是这段代码不起作用? - (IBAction)PressedOne:(id)sender { [self performSegueWithIdentifier: @"one" sender: self]; } - (IBAction)PressedTwo:(id)sender { [self performSegueWithIdentifier: @"two" sender: self]; } - (void)viewDidLoad { [super viewDidLoad]; } -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if([segue.identifier isEqualToString:@"one"]){ SecondViewController *controller = (SecondViewController *)segue.destinationViewController;控制器.isoneEnabledFr = YES;返回; }

标签: cocoa-touch segue


【解决方案1】:
  1. 在 ViewController 中声明一个变量为字符串类型的 segueId,并为其分配默认的 segue id。
  2. 按下“buttonA”时,发出 performSegueWithIdentifier。
  3. 现在将另一个按钮“buttonB”添加到视图控制器,并在其操作中更改 segueId 变量的值。
  4. 通过这种方式,您可以从同一个按钮调用多个 segue。
  5. 另外,如果您想向不同的 VC 发送不同的数据,请检查您的 prepareForSegue 方法中的 segueID 并相应发送

注意:所有的转场都应该来自 VC 而不是来自按钮。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2014-08-24
    • 2017-08-07
    • 2021-07-15
    • 2022-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    相关资源
    最近更新 更多