这是我的情况:以模态方式在导航堆栈中呈现视图控制器
我有两个视图控制器嵌入在导航控制器中。我会叫他们发件人和目的地
基本上我想要实现的是用导航堆栈中的目标“替换”发件人,以便按发件人上的按钮继续前往目的地但按“ <返回“按钮导航栏中的发件人和目的地将导致相同的视图控制器。
问题出在这里:我希望这两个视图控制器之间的转换是水平翻转,所以我创建了一个连接发送者和目的地的种类“Present Modally”,转换为“Flip Horizontal”。 在发件人中,我选择“定义上下文”选项。
现在,对于连接SEGUE:
- 当我选择“在当前语境下”为展示它正是我想要的! ...除了动画看起来有点won。。基本上,发送者保持平坦和静止,而目的地在其上方翻转,而不是“一起”翻转。这是有道理的,因为segue提供而不是发件人,但它不是我想要的。
- 当我选择“当前上下文”进行演示时,动画看起来很棒! ...除了在导航栏中按下“<返回”按钮,它只是导致带有导航栏的纯黑色视图,如果我在此视图上再次按下“<返回”按钮,我会看到以下异常:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't add self as subview'
任何人都有任何想法,我怎么能实现我想要做的?这甚至是正确的方法吗? 我见过一些建议,尝试将视图控制器视图翻转到新视图,而不是将整个视图控制器翻转到不同的视图控制器。但是故事板中的一个视图控制器可以有两个“全尺寸”视图吗?
谢谢!
嗯所以如何更换行动工作?我仍然会使用类似的水平翻转赛?如果是这样,我不会像以前一样遇到同样的问题,只是在这种情况下,它会在CVC而不是发件人VC? – user3029918
不,你不会使用segue ...看看:https://developer.apple.com/reference/uikit/uiview/1622574-transition – DonMag
如果你仍然在为此工作,我把在https://github.com/DonMag/ContainerViewExample – DonMag