微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 在呈现视图之前即时segue

我正在尝试为我的项目找出正确的viewcontroller / segue结构,我需要一些帮助.

当’B’将从’A’呈现时,它检查一个陈述是否为真.只有在为真时,才应立即显示“C”而不是“B”.用户继续’D’,并且从’D’应该有一个退绕segue回到’B’.

Segue Example

我可以检查’B’的viewDidAppear()中的if语句,但是在加载viewcontroller’C’之前,视图将首先加载几毫秒.它看起来不太好看.

如果我尝试在viewDidLoad()中创建if语句,我会收到一个错误

试图在“B”上显示“C”,其视图不在窗口层次结构中

也许有更好的方法解决这个问题?

解决方法

如果没有实际显示您所选择的每个ViewController,则无法使用segues.仅在实际呈现ViewController之后调用Segues,例如,您不能从viewDidLoad中进行调用.

跳过具有segues的ViewController的唯一选择是,如果你设置两个不同的segue,一个你采取“完整路径”,比如说A-> B-> C,你可以跳过B,A-> ;C.所以你需要从A和B得到一个C的segue.

当然使用这种方法你不能使用unwind segue到一个根本没有呈现的ViewController.您可以通过不使用展开segues来解决此问题,但也可以通过“向后”设置segues来解决此问题.我所说的“向后”是指你设置一个segue说D-> B,然后你可以“回”到B,即使你的segues的顺序是A-> C-> D-> B.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐