Ios 如何向后退几步?
根据这个话题,网上有很多东西,但我不明白。我有一个应用程序,带有Ios 如何向后退几步?,ios,objective-c,Ios,Objective C,根据这个话题,网上有很多东西,但我不明白。我有一个应用程序,带有自定义segue实现,没有导航控制器。有些情况下,我需要向后退几步 对于实现,我使用简单调用: 编码自定义序列 风: [[self-sourceViewController]presentModalViewController:[self-destinationViewController]动画:是] 对于展开: [[self destinationViewController]dismissViewControllerAnimat
自定义segue
实现,没有导航控制器
。有些情况下,我需要向后退几步
对于实现,我使用简单调用:
编码自定义序列
风:
[[self-sourceViewController]presentModalViewController:[self-destinationViewController]动画:是]代码>
对于展开:
[[self destinationViewController]dismissViewControllerAnimated:YES完成:nil]代码>
据我所知,当我在内存中的某个位置上卷segue
时,有一些数据在展开过程中使用。因此,在自定义展开中,我仅使用只读属性destinationViewController
那么我如何在一个动作中后退几步呢?或者我必须在不同的视图控制器中进行多次展开
我读了下面的内容,但我不理解实现
下面是我的应用程序逻辑示例:
示例
我有4个VC在一个链中:
VCA->VCB->VCC->VCD
我来回地吹拂和放松。逻辑是正确的。在某些情况下,我需要从VCD放松到VCB。怎么做?我可以直接退绕到VCB吗?或者我必须退绕到VCC,然后在退绕处理程序中退绕到VCB
我还想到了从VCD到VCB的附加序列,但网上有评论说这不是正确的方法,因为序列链会变得混乱 的答案中包含了您需要了解的关于unwindSegues的所有信息(我建议您重新阅读)
但要获得更直接的答案,可以从VCD放松到VCB。为此,您必须首先在VCB中实现该方法:
- (IBAction)unwindToVCB:(UIStoryboardSegue *)unwindSegue
{
}
完成此操作后,转到IB,并控制将按钮的操作拖动到退出图标,然后应选择上面创建的方法作为选择器。(这直接取自上述问题/答案)
同样,为了更清楚地理解我所说的话,请阅读我上面提到的相关问题的答案 您必须使用UINavigationController,只需将其添加到故事板中作为mainViewController,并将“A”ViewController设置为其根视图控制器,然后将所有segue更改为push segue,为其设置“Identifires”,您可以使用PerformsgueWithIdentifire来推送视图控制器和内部视图控制器:
[self.navigationController popViewControllerAnimated:];
或
我想我现在明白了。我忘了解卷是在第一个控制器中实现的,我必须解卷到该控制器。我马上就去试试。又是10倍,当然是RJiryes。事实上,我已经读过这个答案,但没有弄清楚unwindtoVCB
必须在VC B中实现。是的,我想是的,这就是为什么我把它放在你的问题中。祝你好运。我不使用UINavigationController
@mityaika07。我的设计有问题,我不知道如何隐藏导航控制器
——它必须在我的UI上不可见。@RJiryes的答案同样有效。[self.navigationController setNavigationBarHidden:self.panelsHidden-animated:YES];可用于隐藏顶部条形10x@mityaika07。我会考虑这一点。但我现在不会使用它,因为我已经有了导航逻辑。在您的情况下,最大的问题是:ModalViewController在旋转方面有问题,我建议阅读以下内容:
[self.navigationController popToViewController: animated:];