当前位置 : 主页 > 手机开发 > 其它 >

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

来源:互联网 收集:自由互联 发布时间:2021-06-11
我正在尝试为我的项目找出正确的viewcontroller / segue结构,我需要一些帮助. 当’B’将从’A’呈现时,它检查一个陈述是否为真.只有在为真时,才应立即显示“C”而不是“B”.用户继续’
我正在尝试为我的项目找出正确的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.

网友评论