gpt4 book ai didi

ios - 我可以完全通过 Segues 在视觉上 'bypass' View Controller 吗?

转载 作者:行者123 更新时间:2023-11-28 23:57:12 27 4
gpt4 key购买 nike

A Simple Storyboard Flow

精简版

当我点击确认时,我想继续完成购买,如果用户没有记录付款信息,则再次直接继续收集付款信息没有看到完整购买 View 。我从 Complete Purchasing 调用 viewDidLoad 中的第二个 segue,并且在继续之前我(短暂地)看到了 Complete Purchasing 屏幕。

更多单词

我这里有一个相当常见的场景;具有三个不同 View Controller 的购买能力。一般来说,用户会点击 ShoppingCart.confirm,这会导致“显示”继续到 CompletePurchase。然后,用户可以购买(此处无趣)或单击 CompletePurchase.EditPaymentInfo,这将触发“Modal”segue 至 GatherPaymentInfo。关闭 GatherPaymentInfo 将会返回到 CompletePurchase,并且现在可以使用新的付款信息。

所有这些都很好,但有时用户没有任何存储的付款信息。 在 CompletePurchase 中,我想要做的是注意到用户没有付款信息,并将其直接连接到 GatherPaymentInfo Controller 。完成后,用户像以前一样关闭,并准备好完成购买。

即使这样也没关系,因为我在CompletePurchase.viewDidLoad()中执行segue。

问题在于,没有付款信息的用户在转到 GatherPaymentInfo 屏幕时会短暂看到 CompletePurchase 屏幕。我希望这种过渡是无缝的。

我可以在不向用户显示中间人(CompletePurchase)的情况下执行第二次转场吗?

我已经通过在 ShoppingCart -> CompletePurchase segue 之前做出决定并执行不同的 segue 来解决该问题,但感觉很不干净。

也许有更好的方法来完成这里的任务,我对对此的意见以及问题的答案很感兴趣 - 谢谢!

没有成功的事情

我天真地尝试在 viewDidLoad() 中逃脱:

  override func viewDidLoad() {
if bad_condition == true {
performSegue(withIdentifier: to, sender: self)
return
}
super.viewDidLoad()
}

它会根据需要继续,但在短暂显示 CompletePurchase View 之前不会继续。

最佳答案

I have already worked around the problem by making the decision before the ShoppingCart -> CompletePurchase segue and performing a different segue but it feels very unclean.

我认为您的评估完全错误。如果在这种情况下您实际上不需要 CompletePurchase View Controller 的开销,那么这绝对是最干净的解决方案!我会说你应该快乐地继续前进。

关于ios - 我可以完全通过 Segues 在视觉上 'bypass' View Controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50865587/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com