Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何向后退几步?_Ios_Objective C - Fatal编程技术网

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:];