【发布时间】:2018-06-14 20:38:48
【问题描述】:
短版
当我点击confirm 时,我想转到Complete Purchase,如果用户没有存档的付款信息,请再次直接转到Gather Payment Info 而不会看到Complete Purchase 视图。我正在从Complete Purchase 调用viewDidLoad 中的第二个segue,并且我(简要地)在它继续之前看到Complete Purchase 屏幕。
更多单词
我在这里有一个相当常见的场景;具有三个不同视图控制器的购买能力。通常,用户会单击ShoppingCart.confirm,这会导致CompletePurchase 出现“显示”转场。然后用户可以购买(这里没意思)或点击CompletePurchase.EditPaymentInfo,这会触发到GatherPaymentInfo 的“模态”segue。关闭GatherPaymentInfo 将回到CompletePurchase,并提供新的付款信息。
所有这些都很好,但有时用户没有任何存储的付款信息。我想要做的是,在 CompletePurchase 中,注意用户没有付款信息,并直接将他们转到GatherPaymentInfo 控制器。完成后,用户会像以前一样关闭,然后他们就可以完成购买了。
即使这样也很好,因为我在 CompletePurchase.viewDidLoad() 中执行转场。
问题是没有付款信息的用户在前往GatherPaymentInfo 屏幕的途中会短暂看到CompletePurchase 屏幕。我希望这种过渡是无缝的。
我可以在不向用户显示中间人(CompletePurchase)的情况下执行第二次转场吗?
我已经解决了这个问题,在ShoppingCart -> CompletePurchase segue 之前做出决定并执行不同的segue,但感觉很不干净。
也许有更好的方法来完成这里的任务,我很想知道对此的意见以及问题的答案 - 谢谢!
没用的东西
我天真地试图在viewDidLoad() 中逃跑:
override func viewDidLoad() {
if bad_condition == true {
performSegue(withIdentifier: to, sender: self)
return
}
super.viewDidLoad()
}
根据需要继续进行,但在简要显示 CompletePurchase 视图之前。
【问题讨论】:
标签: ios uistoryboardsegue xcode-storyboard