问题标签 [unwind-segue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
6561 浏览

ios - 在 unwind segue 之后执行 push segue

我正在开发一个相机应用程序,其中相机视图以模态方式显示。在我完成裁剪之后。我对MainPageViewController. (请看截图)

故事板

我里面MainPageViewController的展开功能如下;

MainPageViewController其中 "categories" 是从to的 push segue 标识符CategoriesTableViewController

程序进入该unwindToMainMenu函数,但它不执行 push segue。知道如何解决这个问题吗?

注意:我发现了同样的问题,但答案建议更改情节提要结构。

0 投票
1 回答
251 浏览

ios - 展开到不在当前导航视图控制器链中的 viewController

我有以下场景storyboard

VC1 => NavC => VC2 => VC3 => VC4 我segue根据条件以编程方式从 VC1 到 VC2 或 VC3(我通过实例化 NavC 并更改 viewControllers 数组来做到这一点)。现在我想从 VC4 放松到 VC1,但我认为我做错了什么,因为它被忽略了,什么也没有发生。为此,我IBAction在 VC1 中定义了一个名为 unwind1,然后我创建了一个segue从 VC4 到其出口的出口并将其命名为 segue1。我也有子类UINavigationController,并有以下方法:

在 VC4 的方法 1 中,我调用self.performSegueWithId("unwind1"). 虽然当我跟踪执行控制到达这一行但它被忽略了。当我在上述两个方法中设置断点时,执行控制永远不会到达那里。关于我做错了什么有什么想法吗?

0 投票
0 回答
265 浏览

ios - Unwind Segue 不会抛出错误,但不会执行 segue

我正在使用 2 个视图控制器,我只是想在第二个和第一个视图控制器之间做一个放松的 segue。我执行 segue 的代码不会引发任何错误,但也不会做任何事情。

是我用来调用 unwind segue 的代码。我通过控制从橙色视图控制器图标拖动到退出图标来制作展开转场,然后在项目大纲中命名展开转场。大纲调用“展开 segue 到场景退出占位符”。我不知道那是错误的还是重要的等等。segue 标识符是 returnToBuildScreen,动作是 returnToBuildScreen:。

在 viewController 的 .h 文件中,我有一个我认为可以处理展开转场的方法,但我认为这可能是问题所在

.h 文件中方法声明旁边的圆圈没有填充,这通常意味着它没有连接到 IB 中的任何东西......我在 .m 文件中有一个用于调试目的的基本 nslog 函数的实现.

就像我说的,它运行无错误,但什么也不做

提前致谢

0 投票
0 回答
209 浏览

ios - 退出 segue Xcode 6.1.1 再次无法正常工作

我知道退出会在早期的 xcode 6 beta 和 swift 中中断。我安装了 Xcode 6.1.1,但我似乎没有让它工作。

我的目标 ViewController 中确实有这个功能

但是,当我的startingViewController中的一个按钮crtl拖动到控制器退出图标时没有任何反应,xcode似乎没有在另一个viewcontroller中找到该功能。有人有想法吗?右键单击退出图标给我一个空白的黑色字段,其中没有功能。

0 投票
2 回答
290 浏览

ios - 尝试使用 UIViewAnimationOptionTransitionFlipFromLeft 展开自定义 Segue

我有一个自定义的转场:

我已经设置segueunwind segue使用了storyboard.

我已经子类UINavigationController化并且正在使用自定义展开segue- (UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)toViewController fromViewController:(UIViewController *)

View 1当我从to调用 segue时View 2,它​​按预期工作。

当我调用 unwind segue 时,View 2翻转,但View 2再次显示。这isUnwinding部分代码会触发,但View 1不会再次出现。

任何有关如何解决此问题的提示将不胜感激。

0 投票
2 回答
684 浏览

ios - Xcode 6 故事板 unwin segue 动作未定义

我在我的项目中使用 unwind segues 已经有一段时间没有问题了。我按照应有的方式设置它们,并且运行良好。然后今天突然在 Storyboard 中,我收到此警告“未定义 segue <> 动作”。我检查了我的代码,我的视图控制器 .m 文件中仍然存在展开方法。我的代码中没有任何变化。我仍然在 .m 文件中定义了大约 10 个展开转场,但现在在情节提要中只能看到其中的 2 个。

在此处输入图像描述

怎么了?

谢谢!

Xcode 6.1.1 目标-C

0 投票
1 回答
176 浏览

ios - 带有嵌套模态视图控制器的展开 segue 的不良动画

我有如下所示的视图控制器架构在此处输入图像描述

要从 展开srcVCdstVC按住 Control 键将按钮拖到展开动作exitToImageEditVC:在此处输入图像描述

当我按下适当的按钮时,它srcVC会被解雇并出现。dstVC但问题是展开动画。也就是说,当向下滑动时,我会暂时看到视图控制器modalVCA后面的视图控制器的一部分。这是不可取的。所需的结果是当向下滑动时,不应该暂时出现。任何输入表示赞赏。srcVCsrcVCsrcVCmodalVCA

0 投票
1 回答
775 浏览

ios - Unwind Segue 不会退出视图:Objective-C

我用 Xcode v6.1.1 编码

我有两个课程:报告和管理员。当我们在报告中(第一个视图)时,我点击管理按钮,然后出现管理视图(第二个视图)。当我点击退出按钮(在管理员视图中)时,我希望管理员视图消失并返回报告。

我不知道我是否在代码中出错,但 NSLog 从 prepareForUnwind 中出现。Unwind segue 出现在情节提要中并链接到“exit”。展开segue标识符:“unwindToContainerVC”操作:prepareForUnwind:

这是我的代码:

管理员.h:

管理员:

我必须在 Reports.h 或 Reports.m 中添加一些内容吗?谢谢 !

0 投票
1 回答
1251 浏览

ios - 展开 segue 到子视图控制器的行为不符合预期

与模态视图和容器视图结合使用时,展开 segue 在 iOS 8.1 中的表现似乎不如预期。这是测试项目的视图控制器层次结构,可以在 github上找到:

展开 segue 错误层次结构图像

点击“点击我”按钮会推动嵌入在导航控制器中的模态视图,它有一个 tableView 作为子视图控制器。点击 tableView 中的一行会推送另一个 tableView。最后,点击这个最终 tableView 中的一行应该bUnwindSegue调用在前一个视图控制器上找到的 unwind segue 。

问题:

  1. bUnwindSegue 永远不会被调用。
  2. 根据技术说明TN2298,容器视图控制器负责选择子视图控制器来处理 segue。在这种情况下viewControllerForUnwindSegueAction:fromViewController:withSender:应该在容器视图控制器上调用。它不是。

在示例项目中,您可以看到其中BTableViewController包含 unwind segue:

在情节提要中,单元格选择动作CTableViewController确实是bUnwindSegue. 另请注意,如果您将单元格选择操作更改为CTableViewController容器视图控制器中的展开转场 -- containerVCUnwindSegue-- 转场被正确调用。

unwind segues 的行为是否不符合预期?

0 投票
2 回答
368 浏览

ios - 在segue到子uiviewcontroller ios之后关闭自己的uiviewcontroller?

我在导航控制器中有三个 UIViewController(我们称它们为 A、B 和 C)。A 可以转入 B 或 C。B 可以转入 C。当 C 关闭时,我希望它始终返回 A,即如果从 B 打开,它会在关闭 C 时自动关闭 B。

现在,我尝试使用 segue unwinding,这样当 C 关闭时,B 的返回方法被调用以关闭目标控制器:

我在这个方法中放了一个断点——它被调用了。我已经验证了destinationController 确实是B。但是,我注意到当断点命中时,C 仍然可见。从断点开始播放后,C 确实按预期退出,但 B 仍然可见。

有任何想法吗?提前谢谢了。