加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:27:30 所属栏目:百科 来源:网络整理
导读:我正在尝试为我的项目找出正确的viewcontroller / segue结构,我需要一些帮助. 当’B’将从’A’呈现时,它检查一个陈述是否为真.只有在为真时,才应立即显示“C”而不是“B”.用户继续’D’,并且从’D’应该有一个退绕segue回到’B’. 我可以检查’B’的viewDi
我正在尝试为我的项目找出正确的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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读